Answers:
您可以执行通配符命令,例如ls *.rb
,cp *.sh
如果将来要组织脚本,也可以这样做。
我认为,应尽早开始或稍后后悔。
类似的编辑器vim
也将能够根据shebang或文件扩展名应用正确的语法突出显示。
这也可以通过在各种编辑器中使用模式行来实现。例如vim:
# vim: ft=sh
显然,bin
目录中的可执行文件与可编辑的“源”文件之间存在一些差异。
#!
行。.pm
,.sh
或.so
在这样的情况。对于已编译的程序,“源”和“可执行”之间的区别是显而易见的:一个包含源代码,另一个包含机器语言或解释的字节码。对于脚本,没有明显的区别,但是make
命令在“脚本的源代码”和“脚本的可执行版本”之间保持了名义上的分隔:“ shell脚本”的默认“编译器”很简单cp
。
我建议保留一个单独的$HOME/source
目录,或者:
ln -s ../source/foo.sh $HOME/bin/foo
;要么install -m 755 foo.sh ../bin/foo
;要么Makefile
规则执行语法检查,然后再将源文件从中复制$HOME/source
到$HOME/bin
脚注:一个shell脚本模块只能由另一个shell脚本使用,并使用.
或source
内置命令修改该脚本的内部上下文。这不同于可执行脚本,可执行脚本(像任何程序一样)作为单独的进程运行,并且不能修改其父进程。作为一个粗略的约定,模块进入/usr/lib/name_of_program/name_of_module.sh
而命令进入/usr/bin/name_of_command
(不带任何后缀)。