在.bash_profile中创建运行shell脚本的别名

时间:2014-03-25 17:05:21

标签: bash shell .bash-profile

所以我有一个名为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

非常乐意帮助,谢谢!

3 个答案:

答案 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'`

如果它不起作用,请告诉我。因为它对我有用。