我有一个bash脚本,它带有命令行标志“ --signal”。
在命令行上指定该选项后,我想在命令提示符下运行一行。
是否有一种简短的if语句进行检查的简洁方法? Getops比我不喜欢的东西更加混乱。
if (--signal)
# Run this line
endif
答案 0 :(得分:0)
强力但有效。将found
的值替换为布尔值,如果是true
,则分离您的进程以发送信号。
#!/bin/bash
found="didn't find it"
for v in "$@"
do
if [ $v == "--signal" ]
then
found="found it"
fi
done
echo $found
答案 1 :(得分:0)
问题说“ tcsh”,但描述说“ bash”。然后在评论中再次提到“ tcsh”。因此,我假设您要在tcsh中使用它。
如果您不担心错误检查,例如为其他不受支持的参数抛出错误等,则此简单的if语句可以满足您的要求。即检查是否将“ --signal”传递给脚本
if ("$*" =~ "*--signal*") then
# Whatever you want to do
endif