Linux shell更改目录,找不到文件

时间:2015-11-10 18:05:30

标签: linux bash shell

我已经编写了我的convert.sh shell

#!/bin/bash

alias proj="cd /home/milenko/MT8/meas_2015-06-29_19-18-28"

tsmp -nspw -wl 512 -rect -back -trf theo -run 99  263_V01_C05_R000_TEx_BH_131072H.ats 
tsmp -nspw -wl 512 -rect -back -trf theo -run 99  263_V01_C06_R000_TEy_BH_131072H.ats

这是我的工作目录

milenko@host:~/ProcMT64/old/version_september_2015/bin$ pwd
/home/milenko/ProcMT64/old/version_september_2015/bin

所有可执行文件和库都在这里,包括tsmp。

ls -l tsmp
-rwxrwxr-x 1 milenko milenko 835143 Set 11 13:48 tsmp

但是当我运行我的脚本时

milenko@host:~/ProcMT64/old/version_september_2015/bin$ sh convert.sh
convert.sh: 5: convert.sh: tsmp: not found
convert.sh: 6: convert.sh: tsmp: not found

似乎我不懂别名。 根据chepner的评论,我试过这个

(cd /home/milenko/MT8/meas_2015-06-29_19-18-28 &&  ./tsmp -nspw -wl 512 -rect -back -trf theo -run 98)

但是

c1.sh: line 3: ./tsmp: No such file or directory

为什么?

2 个答案:

答案 0 :(得分:2)

tsmp不在您的PATH环境变量中,因此您必须明确其位置:

#!/bin/bash

alias proj="cd /home/milenko/MT8/meas_2015-06-29_19-18-28"

./tsmp -nspw -wl 512 -rect -back -trf theo -run 99  263_V01_C05_R000_TEx_BH_131072H.ats 
./tsmp -nspw -wl 512 -rect -back -trf theo -run 99  263_V01_C06_R000_TEy_BH_131072H.ats

答案 1 :(得分:0)

您当前的工作目录可能不在PATH环境变量中。

您可以通过以下方式将其添加到脚本中:

export PATH=.:$PATH

但是,更好的方法是使用

明确列出位置
./tsmp -nspw -wl 512 -rect -back -trf theo -run 99  263_V01_C05_R000_TEx_BH_131072H.ats 
./tsmp -nspw -wl 512 -rect -back -trf theo -run 99  263_V01_C06_R000_TEy_BH_131072H.ats
^^ pre-fix with current directory