我希望用一个非常小的 shell 脚本来替换我失败的内存。
#!/bin/sh
if ! [ –a $1.sav ]; then
mv $1 $1.sav
cp $1.sav $1
fi
nano $1
旨在保存脚本的原始版本。如果原件之前已被保留,它会跳过移动和复制回(我使用移动和复制回来保留原始时间戳)。
如果在我使用chmod使其可执行后我从我正在编辑的目录中启动它,这将按预期工作,例如使用
./safe.sh filename
但是,当我将它移入/usr/bin
然后我尝试在不同的目录中运行它(没有前导./
)时,它失败了:
*-bash: /usr/bin/safe.sh: /bin/sh: bad interpreter: Text file busy*
我的问题是,当我将此脚本移动到路径中(由 验证echo $PATH
)时,它为什么会失败?
哦?好奇的人想知道如何做到这一点。