执行脚本后无法控制终端

问题描述 投票:0回答:1
source /path/to/your_script.csh <parameter_1> <parameter_2> && echo "hello world"

它只是执行脚本并出来,不执行

hello world
部分

当我单独尝试时,我成功地执行了两个脚本,但是当我将它们组合起来时,命令的第二部分从未工作。

linux environment-variables environment csh
1个回答
0
投票

不要使用

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

此外,多年来我注意到的一件事是,很多时候有人使用

&&
时,要么没有必要(他们可以只使用分号),要么适得其反,因为他们总是想要右侧无论左侧的退出状态如何,都要执行
&&

© www.soinside.com 2019 - 2024. All rights reserved.