假设我有这个mm
脚本dir1
:
#Contents of mm
echo "Hello Main!"
./hd
我的密码是dir2
,我现在执行mm
:
$ ../dir1/mm
有一个名为hd
和dir1
的可执行文件dir2
。我尝试了一下,hd
indir2
被执行了。为什么不执行hd
indir1
呢?
答案1
因为执行文件不会将进程的当前工作目录更改为文件的目录。
可执行文件可以在执行后选择执行。例如,我有时会这样做:
cd "$(dirname "$0")"
在我的脚本中确保我当前的工作目录是可执行文件的目录,但它没有义务这样做。