我是bash和使用.sh文件的新手。我正在尝试通过在.sh文件中按以下方式调用程序来运行程序aescrypt(aescrypt与.sh文件位于同一目录中):
./aescrypt -e -p password file.txt
它引发以下错误:
./aescrypt no such file or directory
我做错了吗?
ps-我真的不想将其添加到PATH变量中,因为我将在每天重置的多台计算机上使用它。
脚本的位置无关紧要。重要的是执行脚本的进程的工作目录。最简单的解决方案实际上是将aescrypt添加到标准位置,例如/bin
或/usr/bin
。如果这些都不可接受,也许/usr/local/bin
是一种选择。否则,只需aescrypt
在脚本中使用的完整路径即可。对其进行硬编码,或者如果它与脚本位于同一目录中,请尝试:
$(dirname $0)/aescrypt ...
(请注意,硬编码更可靠,但灵活性较差。如果移动可执行文件,脚本将中断。但是,dirname
如果脚本在执行期间更改目录,则使用将中断。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句