【发布时间】:2013-08-29 17:10:23
【问题描述】:
我有一个 shell 脚本,如果它存在,它应该会终止一个分离的屏幕会话。脚本是
if ! screen -list | grep -q "ScreenName"; then
screen -S ScreenName -X quit
fi
不幸的是,当我运行脚本并且屏幕会话不存在时,屏幕 -S ... -X 退出命令似乎总是运行 bc,它仍然输出“未找到屏幕会话”。当我删除!并且屏幕会话正在运行,它不会终止正在运行的会话。
可能是什么问题?谢谢
【问题讨论】:
-
如果你拿出
!,它对我有用。您确定您使用的网名正确吗? -
!肯定是错误的;如果命名会话不存在,它将指示shell 运行主体。当您删除!,运行给定的命令,然后再次运行screen -list,您的会话是否仍然出现? -
这次似乎可以去掉刘海了……但我之前试过了,但没用。网名肯定有区别,因为我想不出其他原因
标签: bash shell gnu-screen