例如,如果我开始这样的非交互式会话:
ssh root@hostname6 "echo 'hello' ; echo $TERM"
我得到的输出是:
helloxtermtput: No value for $TERM and no -T specifIEdtput: No value for $TERM and no -T specifIEdtput: No value for $TERM and no -T specifIEdtput: No value for $TERM and no -T specifIEdtput: No value for $TERM and no -T specifIEdtput: No value for $TERM and no -T specifIEdtput: No value for $TERM and no -T specifIEdstdin: is not a tty
因此,即使会话是非交互式的,$TERM变量也具有值.
我需要检测什么条件才能启动非交互式shell时省略提示自定义部分?
解决方法 在对PS1进行分配时评估tput命令.由于在启动ssh会话时处理启动文件,因此即使会话不是交互式的,也会进行分配.您可以测试它,只在实际开始交互式会话时进行分配.if [[ $- =~ i ]]then # set PS1 using tputelse # set a plain PS1 (or use hard-coded escape sequences)fi总结
以上是内存溢出为你收集整理的linux – 提示自定义:如何检测何时没有tty全部内容,希望文章能够帮你解决linux – 提示自定义:如何检测何时没有tty所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)