如何在Zsh中实现Bash带预填文本的read命令功能
如何在Zsh中实现Bash带预填文本的read命令功能
嗨,我来帮你搞定这个问题!你在Bash里用 read -e -i "This is pre written text " t 实现的「带预填文本的交互式输入」,在Zsh里其实有几乎一模一样的实现方式,甚至参数都没怎么变~
直接用这条命令就行:
read -e -i "This is pre written text" t
执行后会直接启动readline编辑器,把你指定的预填文本加载到输入行里,你可以直接编辑这段文本(比如修改内容、调整光标位置),编辑完成按回车,最终的内容就会被保存到变量 t 里啦。
给你拆解下关键参数的作用:
-e:启用readline库处理输入,这样你能用上readline的各种快捷键(比如Ctrl+A跳到行首、Ctrl+E跳到行尾、左右箭头移动光标等)来高效编辑文本;-i "预填内容":设置输入框的初始文本,也就是你需要预先写好的那段内容;- 最后的
t就是用来存储最终输入结果的变量名,你可以换成任何你想用的变量名。
举个实际使用的小例子:当你执行上面的命令后,终端会显示 This is pre written text,光标默认停在文本末尾,你可以直接修改成 This is my edited text,回车后输入 echo $t,就能看到输出修改后的内容啦。
备注:内容来源于stack exchange,提问作者cantik memekmu
相关产品推荐
相关产品推荐

