我有一些功能脚本,我想复制到/usr/bin我想将它们用作普通终端命令。将它们与.sh扩展一起使用是一个好习惯还是我可以在没有扩展的情况下保存它们?
小智 79
不,这不是一个好习惯,您应该保留没有扩展名的脚本。请注意,作为包一部分的脚本没有.sh扩展名,即update-grub,而不是update-grub.sh。如果您仍然不相信,那么请注意,Google Shell 样式指南说:
可执行文件不应有扩展名(强烈推荐)或 .sh 扩展名。库必须具有 .sh 扩展名,并且不应是可执行的。
PS 您不必将脚本放入/bin. 您可以创建目录~/bin并将脚本放在那里。目录默认~/bin包含在其中$PATH,因此放置在那里的脚本可以像任何其他 shell 命令一样运行。
mur*_*uru 10
正如谢尔盖所说,我建议使用~/bin它会自动添加到您的. 或者,这可能已经在. 然而:$PATH/usr/local/binPATH
扩展在/usr/bin. 在我的系统中,我只能找到两个:
$ dpkg -S `ls /usr/bin/*.sh`
mtools: /usr/bin/amuFormat.sh
gettext-base: /usr/bin/gettext.sh
Run Code Online (Sandbox Code Playgroud)
因此,如果您要打包,请务必省略扩展名。
只需将以下行放在文件顶部:
#!/bin/bash
Run Code Online (Sandbox Code Playgroud)
因此,该文件将自动键入:没有任何扩展名的Shell 脚本!
记得给文件执行权限。
要放置可以通过直接命令运行的脚本,请访问:我应该将脚本放在哪里,以便我可以通过直接命令运行它?