我想创建一个简单的文本输入系统来为脚本提供输入。我创建了一个辅助函数:
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
但是绝对没有效果。
我想念什么?
答案 0 :(得分:3)
read
使用其自己的提示符,而不调用fish_prompt
。
您可以使用以下选项为read
指定提示:
read --global --prompt-str="$prompt" $var_name
您还可以使用真实的命令:
read --global --prompt='echo something: ' $var_name