入门shell实例讲解

http://www.openchess.org/noitatsko/programming/


"Hello world" Shell Script
照传统程式教学例,这一节介绍Shell Script的"Hello World"如何撰写。
--------------------------------------------------------------------------------
#!/bin/sh
# Filename : hello
echo "Hello world!"
--------------------------------------------------------------------------------
大家应该会注意到第一行的"#!/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@foxman bash]# chmod 755 hello
执行
[foxman@foxman bash]# ./hello
hello world
--------------------------------------------------------------------------------
第二种 : 使用bash内建指令"source"或"."。
[foxman@foxman bash]# source hello
hello world

[foxman@foxman bash]# . hello
hello world

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

[foxman@foxman bash]# bash hello
hello world
--------------------------------------------------------------------------------
Bash执行选项
--------------------------------------------------------------------------------
-c string : 读取string来当命令。
-i : 互动介面。
-s : 由stdin读取命令。
- : 取消往後选项的读取。
-norc : 不要读~/.bashrc来执行。
-noprofile : 不要读/etc/profile、~/.bash_profile、~/.bash_login、~/.profile等等来执行。
-rcfile filename : 执行filename,而非~/.bashrc
-version : 显示版本。
-quiet : 启动时不要哩唆。
-login : 确保bash是个login shell。
-nobraceexpansion : 不要用curly brace expansion({}符号展开)。
-nolineediting : 不用readline来读取命令列。
-posix : 改采Posix 1003.2标准。

 » 相关连接:
控制圈for 流程控制case 流程控制select 返回状态Exit
流程控制if 控制圈while/until 参数与变数 函数function
Bash内建指令集 Bash最常见的激活模式 Bash中的变量 Bash中的特殊字符
 » 本栏目最新帖:

Powered by PHPWind v6.0 Code © 2003-08