我正在大学学习 UNIX 入门课程的 shell 脚本,我很好奇是否可以在一个文本文件中包含多个 shell 脚本。我的意思是,例如在帕斯卡中,当你有:
var…
begin
end.
//another program which will be ignore
编译器会忽略以句点结尾之后的任何内容。 Shell 可以做这样的事情吗?我这样问是因为我必须查看大量 Shell 示例,并且打开许多文件不是很方便,这样我就可以运行相同的脚本而不必担心 u+x 权限,并且只需在任何时候运行具有相同名称的脚本即可到下一个代码示例。所以可能会有这样的内容:结束,不要再读下去了。 ?预先感谢您回答这个愚蠢的问题。
答案1
出于上述目的 - 即在任何给定行停止脚本 - 您可以exit
在此时简单地使用中断。对于任何现实生活中的应用程序来说,这似乎有点粗糙,但出于学习目的,它应该适合。
说:
#!/bin/sh
# now I am working here
do_something
exit
# this is old, do not execute
did_something
exit
# this is even older, do not execute
did_something_long_ago
答案2
您可以使用以下结构: <<"SOMEWORD" ... SOMEWORD
来替代注释#
##### The following "code block" is effectively ignored
: <<"SOMEWORD"
/etc/init.d/mydatabase clean_stop
mydatabase_dump /var/db/db1 /mnt/fsrv0/backups/db1
logger -t SYSHALT "System halt: pre-shutdown actions done, now shutting down the system"
shutdown -h NOW
SOMEWORD
##### The ignored codeblock ends here