如何使用 bash 脚本在 linux 中创建命令?

How do I make a command in linux using a bash script?

我正在尝试为终端发出命令。我准备了一个 bash 脚本 (la.sh),我只想输入 la 到 运行 它。我怎样才能获得代码以便我只需键入 la?

我试过将它放在 /bin 文件夹中,但是没有成功。

我该怎么做才能解决这个问题?

我正在使用最新版本的 Manjaro Gnome。

非常感谢!!!

顺便说一句,脚本实际上只是 ls

这只是一个练习脚本。

文件 la.sh 必须放在您的 path 中。然后你可以为它创建一个别名。

alias la="la.sh"

假设您的脚本存储在 /some/path/la.sh 下。在我看来,您有几种解决方案可以实现您的目标:

选项 1:

将脚本添加到您的用户路径中,以便您可以直接调用它。

echo "export PATH=$PATH:/some/path/" >> ~/.bashrc

然后您就可以在您的终端中使用:

$ la.sh

使用此选项,您可以根据需要使用任何参数调用 la.sh。如果要求只是调用 la 您还可以重命名脚本或创建软链接:

mv /some/path/la.sh /some/path/la

ln -s /some/path/la.sh /some/path/la

选项 2:

为脚本创建别名。

echo "alias la='/some/path/la.sh'" >> ~.bashrc

然后您就可以在您的终端中使用:

$ la

但是,使用此选项您将无法将参数传递给脚本(执行类似于 la param1 param2 的操作),除非您定义更复杂的别名(使用 [=20 中的函数的别名) =],但我认为这超出了问题的范围)。

重要提示:记得在您的终端中重新加载环境(source .bashrc)或关闭并再次打开终端每次 您对 .bashrc 文件进行了修改。否则,您将看不到任何更改。

如果你想让一个命令以两个不同的名称(la.shla 在你的情况下可用),我建议不要使用别名:别名定义在你的 .bashrc 仅在交互式 bash 中可用;如果你 运行,比如说,一个非 bash 交互式 shell,或者写一个 bash 脚本,你不能使用它。

IMO 最通用的方法是创建 link。既然你说你已经将 la.sh 放入 bin 中,你可以在同一目录中创建 link,即

ln /bin/la /bin/la.sh # creates a hard link

ln -s /bin/la /bin/la.sh # creates a symbolic link

对于您的情况,两者都可以。如果您想了解更多关于硬 link 和符号 link 之间的区别,请查看 here.

它结合了每个人的答案。

我所要做的就是进入 la.sh 所在的目录。 将其重命名为 la 作为文本文件。 运行 chmod 777 la 将其变成对任何人都可执行的文件。 使用命令 export PATH=$PATH:~/Directory/It/Was/In/

将其添加到我的路径

感谢所有贡献者。