cd。在zsh中使用set -e运行时导致退出

时间:2014-04-07 14:12:34

标签: zsh

我对zsh脚本有一个奇怪的问题:

#!/usr/bin/env zsh
# in ~/bin/script.sh
set -e
echo before
cd .
echo after

我遇到了一些奇怪的行为 - 看起来cd .在某些目录中失败了:

% cd ~
% ~/bin/script.sh
before
after
% echo $?
0
% cd ~/Projects
% ~/bin/script.sh
before
% echo $?
1

我不确定导致cd .失败的目录是什么:

% ls -ld .
drwxr-xr-x  173 rampion  staff  5882 Mar 14 15:13 ./

即使更奇怪,如果我使用&&链接cd .成功,它就会成功

#!/usr/bin/env zsh
# in ~/bin/script2.sh
set -e
echo before
cd . && echo during
echo after

像这样:

% cd ~
% ~/bin/script2.sh
before
during
after
% echo $?
0
% cd ~/Projects
% ~/bin/script2.sh
before
during
after
% echo $?
0

我不知道出了什么问题。

0 个答案:

没有答案