所以我有一个名为spotlyrics.sh的脚本,我希望能够使用终端中的“lyrics”命令运行。
我打开了我的.bash_profile,我想知道如何创建alis,1)找到脚本,然后2)执行它
该文件位于名为bash
的文件夹中,位于以下路径
/Users/username/Documents/bash
我到目前为止(在我的bash配置文件中),这是行不通的,因为我猜它不是“执行”脚本。
alias spotlyrics=“/Users/username/Documents/bash/spotlyrics.sh“
在终端中运行“spotlyrics”时出现以下错误:
-bash: “/Users/username/Documents/bash/spotlyrics.sh“: No such file or directory
非常乐意帮助,谢谢!
答案 0 :(得分:8)
您一直在使用不是正确文本编辑器的内容编辑.bash_profile
。引号不是ASCII,因此就shell而言实际上不是引号。
答案 1 :(得分:2)
为什么不将脚本放在PATH中的目录中并让它成为自己的命令,而不是在脚本周围乱七八糟地将脚本别名化,为什么不将它放在PATH的目录中呢?
mkdir ~/bin
echo 'PATH+=:$HOME/bin' >> ~/.bashrc
mv "/path/to/spotlyrics.sh" ~/bin/spotlyrics && chmod +x ~/bin/spotlyrics
然后重新启动shell(注销并重新登录),您将不再需要别名。
答案 2 :(得分:2)
好吧,shell脚本只能通过调用它的名字来执行,它们应该使用" source"命令(如果不是c-shell,也可以使用dot command(.)。)同时在.bashrc或.bash_profile中添加别名,以便在shell脚本的路径之前运行shell脚本append source命令。 在你的情况下,这可能会起作用:`
alias spotlyrics='source /Users/username/Documents/bash/spotlyrics.sh'`
如果它不起作用,请告诉我。因为它对我有用。