执行shell脚本而不隐式调用sh

Sho*_*hoX 24 shell alias

我想知道是否有可能在usr/bin(即)中创建一个导致shell脚本的"链接".

但我只想写

% shellscript
Run Code Online (Sandbox Code Playgroud)

代替

% sh shellscript.sh
Run Code Online (Sandbox Code Playgroud)

有点像别名.

这可能吗?

rjm*_*nro 46

制作脚本的第一行

#!/bin/sh
Run Code Online (Sandbox Code Playgroud)

然后输入命令使其可执行:

chmod +x shellscript.sh
Run Code Online (Sandbox Code Playgroud)

如果现在将脚本bin放在系统PATH变量上的文件夹中,则可以直接运行它.要查看路径中的文件夹,请键入:

echo $PATH
Run Code Online (Sandbox Code Playgroud)

我通常使用/home/[my username]/bin我编写的脚本,以便它们不会干扰系统上的其他用户.如果我希望它们适用于所有用户,我使用的/usr/local/bin是大多数发行版中提供的空白.

.sh对脚本的文件名末尾仅仅是一个约定,以帮助你记住它是什么类型的文件.如果您将其重命名为仅shellscript用于完成您的要求,它仍然可以工作.


Jef*_*eff 15

您可以使shell脚本可执行(chmod +x shellscript.sh).然后你可以从/ usr/bin(ln -s shellscript.sh /usr/bin/shellscript)链接到它.

  • +1实际上说明如何建立链接`ln -s script.sh/usr/bin/script` (6认同)