source /path/to/your_script.csh <parameter_1> <parameter_2> && echo "hello world"
它只是执行脚本并出来,不执行
hello world
部分
当我单独尝试时,我成功地执行了两个脚本,但是当我将它们组合起来时,命令的第二部分从未工作。
不要使用
source
来运行脚本,除非您必须这样做来修改当前 shell 的环境。另外,除非你能向我们展示脚本,否则除了做出半途而废的猜测之外,我们真的无能为力。考虑 /path/to/your_script.csh 的以下内容
echo line 1
false
那么结果就是这样的:
[macbook:~] me% source /path/to/your_script.csh && echo done
line 1
然而,如果最后一行是
true
而不是 false
:
[macbook:~] me% source /path/to/your_script.csh && echo done
line 1
done
此外,多年来我注意到的一件事是,很多时候有人使用
&&
时,要么没有必要(他们可以只使用分号),要么适得其反,因为他们总是想要右侧无论左侧的退出状态如何,都要执行 &&
。