【发布时间】:2013-11-04 18:38:38
【问题描述】:
我正在尝试在我的.cshrc 文件中执行命令之前添加一个脚本来检查条件。如果条件不充分,此检查器脚本返回 0,否则返回 1。 (我意识到这是对约定的倒退,但我认为 if 语句会更容易。)
这是我尝试过的,将命令替换为echo "ok":
./checker.sh && echo "ok"
即使checker.sh 返回 0,也会回显“ok”。
test ./checker.sh && echo "ok"
即使checker.sh 返回 0,也会回显“ok”,但也会抑制 checker.sh 中的错误消息。
if ( ./checker.sh ) then echo "ok" endif
引发 if 语句语法错误。
我想把它变成一个别名,因此是单行约束,例如
alias doAction './checker.sh && echo "ok"'
如何在不直接调用检查器脚本中的命令的情况下使用(t)csh 完成此操作?
谢谢!
【问题讨论】:
-
如果你想在非零退出时执行代码,请执行
checker.csh || echo "ok" -
为避免
csh中单行if语句的语法错误,请勿使用then和endif。例如:if ( 1 ) echo "y".
标签: if-statement csh tcsh