繁体   English   中英

如何使用 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 必须放在您的路径中 然后你可以为它创建一个别名。

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 ),除非您定义一个更复杂的别名(使用.bashrc的函数的别名,但我认为这是不合适的)问题的范围)。

重要说明:记住在您的终端( source .bashrc )中重新加载环境,或者每次您对.bashrc文件进行修改时关闭并再次打开终端。 否则,您将无法看到任何更改。

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

IMO 最通用的方法是创建链接。 既然你说已经把la.sh放到bin里了,那么可以在同目录下创建链接,即

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

或者

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

在你的情况下,任何一个都可以。 如果您想了解有关硬链接和符号链接之间差异的更多信息,请查看此处的示例。

它结合了每个人的答案。

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

感谢所有做出贡献的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM