我昨天开始编写shell脚本,所以请耐心等待! : - )
我有这段代码:
for FILEOUT in *.out
do
if [[ $FILEOUT == a*.out ]]; then
PATH="./Scalars/"
elif [[ $FILEOUT == v*.out ]]; then
PATH="./Vectors/"
elif [[ $FILEOUT == t*.out ]]; then
PATH="./Tensors/"
fi
echo sunday | sed 's/day/night/'
done
(我知道最后一句话是愚蠢的,但如果我不能让它发挥作用,那就不用做更复杂的事了!) 我收到这个错误:
createpyfiles.sh: line 17: sed: command not found
毋庸置疑,如果我稍微改变脚本,例如回复一个单词而不是分配PATH,并且更广泛地说,在其他所有上下文中,sed工作正常。
你能帮忙理解为什么吗?提前谢谢!
答案 0 :(得分:3)
在您更改PATH
之前,它包含/bin
和/或/usr/bin
,其中sed
位于此处。从sed
中删除PATH
的位置后,shell当然无法再找到它。如果您想添加到PATH
,则需要执行类似
PATH="$PATH:your/dir/here"
答案 1 :(得分:0)
您必须在sunday
命令中的引号之间放置echo
:
echo "sunday" | sed 's/day/night/'