某些命令后awk无法识别

时间:2015-07-01 12:29:43

标签: linux bash shell awk

这是一个MWE:

#!/bin/bash
INFILE=$1
echo `echo $INFILE | awk '{print(substr($0,8,3))}'`

PATH=${INFILE%/*}
echo `echo $INFILE | awk '{print(substr($0,8,3))}'`
exit

显然第一个awk命令运行正常,但在第二个命令bash中不再识别awk! 这就是我运行它(假设f_mwe.sh是文件的名称):

$ ./f_mwe.sh /home/something/path/this_is_the_name.txt
ome
./f_mwe.sh: line 31: awk: command not found

$

我尝试在开头定义/bin/shksh,但得到了相同的结果。我不知道造成这种情况的原因。

感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

您正在覆盖PATH变量而不是追加到它我相信。您应该附加到PATH变量。