当前位置:Linux教程 - Linux综合 - Linux程式设计-11.ShellScript(bash)--(2)教学例

Linux程式设计-11.ShellScript(bash)--(2)教学例

"Helloworld"ShellScript
照传统程式教学例,这一节介绍ShellScript的"HelloWorld"如何撰写。



--------------------------------------------------------------------------------

#!/bin/sh
#Filename:hello
echo"Helloworld!"

--------------------------------------------------------------------------------

大家应该会注意到第一行的"#!/bin/sh"。在UNIX下,所有的可执行Script,不管是那一种语言,其开头都是"#!",例如Perl是"#!/usr/bin/perl",tcl/tk是"#!/usr/bin/wish",看您要执行的Script程式位置在那里。您也可以用"#!/bin/bash"、"#!/bin/tcsh"等等,来指定使用特定的Shell。
echo是个bash的内建指令。



--------------------------------------------------------------------------------

接下来,执行hello这个script:
要执行一个Script的方式有很多种。



--------------------------------------------------------------------------------

第一种:将hello这个档案的权限设定为可执行。
[foxman@foxmanbash]#chmod755hello
执行
[foxman@foxmanbash]#./hello
helloworld



--------------------------------------------------------------------------------

第二种:使用bash内建指令"source"或"."。
[foxman@foxmanbash]#sourcehello
helloworld

[foxman@foxmanbash]#.hello
helloworld



--------------------------------------------------------------------------------

第三种:直接使用sh/bash/tcsh指令来执行。
[foxman@foxmanbash]#shhello
helloworld

[foxman@foxmanbash]#bashhello
helloworld



--------------------------------------------------------------------------------

Bash执行选项

--------------------------------------------------------------------------------

-cstring:读取string来当命令。
-i:互动介面。
-s:由stdin读取命令。
-:取消往後选项的读取。
-norc:不要读~/.bashrc来执行。
-noprofile:不要读/etc/profile、~/.bash_profile、~/.bash_login、~/.profile等等来执行。
-rcfilefilename:执行filename,而非~/.bashrc
-version:显示版本。
-quiet:启动时不要哩唆。
-login:确保bash是个loginshell。
-nobraceeXPansion:不要用curlybraceexpansion({}符号展开)。
-nolineediting:不用readline来读取命令列。
-posix:改采Posix1003.2标准。

(出处:http://www.sheup.com)