рыбья ракушка временно отключает все запросы - PullRequest
0 голосов
/ 14 июня 2019

Я хотел создать простую систему ввода текста для ввода в скрипт.Я создал вспомогательную функцию:

function get_input -a prompt var_name -d 'get user input and place it in var_name'
  echo -n "$prompt"
  read --global $var_name
  echo ""
end

, но у меня довольно длинная настройка приглашения, поэтому мое приглашение read выглядит некрасиво:

tsrep prod2 d235108 ~> nsstltlb13 d235108@nsda3bpldv40 ~/.c/f/p/fishdots_notes> get_input 'hello world' charlie
hello world
tsrep prod2 d235108 ~> nsstltlb13 read> bonjour le monde!

Поэтому я попытался отключить fish_prompt функция, используя переименование:

function get_input -a prompt var_name -d 'get user input and place it in var_name'
  functions -c fish_prompt fish_prompt_tmp
  functions -e fish_prompt
  echo -n "$prompt"
  read --global $var_name
  echo ""
  functions -c fish_prompt_tmp fish_prompt
  functions -e fish_prompt_tmp
end

, но это не имело никакого эффекта.

Чего мне не хватает?

1 Ответ

3 голосов
/ 14 июня 2019

read использует свою собственную подсказку и не вызывает fish_prompt.

Вы можете указать подсказку для read с опцией:

read --global --prompt-str="$prompt" $var_name

Вы также можетеиспользуйте настоящую команду:

read --global --prompt='echo something: ' $var_name
...