为什么我的 BASH 脚本 [script] 会产生“[script]:未找到命令”错误?

为什么我的 BASH 脚本 [script] 会产生“[script]:未找到命令”错误?

我最近从 tor 项目下载了最新的 tor 浏览器。它是一个 zip 文件,所以我将它解压到~/.tor-browser_en-US/。我运行了。太好了 - 现在我可以从 GOME 打开该应用程序了。但是,我正在尝试为某些东西编写脚本。因此,我创建了一个如下所示的./start-tor-browser.desktop --register脚本:~/.tor-browser_en-US/torbrowse

#A simple run script for tor-browser
#created by hunter


#!/bin/bash/

#run startup script
sh -c '"/home/hunter/.tor-browser_en-US/Browser/start-tor-browser" --detach || ([ !  -x "/home/hunter/.tor-browser_en-US/Browser/start-tor-browser" ] && "$(dirname "$*")"/Browser/start-tor-browser --detach)' dummy %k

然后

chmod 755 torbrowse

当我通过 运行它时./torbrowse,它运行良好;tor-browser 立即启动。因此,我torb在路径中包含的自定义脚本目录中创建了一个符号链接~/.local/share/myscript::

ln -s ~/.tor-browser_en-US/torbrowse ~/.local/share/myscript/torb

这就是我感到困惑的地方。

$ torb--->torbrowse: command not found

不太清楚发生了什么,也不知道我哪里做错了。任何建议都会有帮助 :)

编辑 1:~/.tor-browser_en-US/torbrowse现在看起来像这样:

#!/bin/bash/

# A simple run script for tor-browser
# created by hunter


#run startup script
sh -c '"/home/hunter/.tor-browser_en-US/Browser/start-tor-browser" --detach || ([ !  -x "/home/hunter/.tor-browser_en-US/Browser/start-tor-browser" ] && "$(dirname "$*")"/Browser/start-tor-browser --detach)' dummy %k

编辑 2:~/.tor-browser_en-US/torbrowse` 现在看起来像这样:

#!/bin/bash

# A simple run script for tor-browser
# created by hunter


#run startup script
"/home/hunter/.tor-browser_en-US/Browser/start-tor-browser" --detach || ([ !  -x "/home/hunter/.tor-browser_en-US/Browser/start-tor-browser" ] && "$(dirname "$*")"/Browser/start-tor-browser --detach) dummy %k

答案1

所以我搞明白了。我预先alias torb=torbrowse在文件中创建了一个别名~/.bash_aliases。这妨碍了 BASH 查看符号链接。注释掉别名解决了这个问题!

$ torb

上述命令现在可以正确启动 tor-browser

我想我可以从中了解到一些我以前不知道的事情,那就是别名可以在 bash 中产生这种行为,并可以阻止脚本正确加载到环境中。

感谢大家的意见:)

相关内容