linux shell script 入门

来源:互联网 发布:c语言成绩管理系统思路 编辑:程序博客网 时间:2024/05/16 15:58

一:

基本上,一个 script 被执行的时候, bash 会据以判断执行
的步骤为:
1. 如果读取到一个 Enter 符号( CR ),就尝试开始执行该行命令;
2. 如同前面 bash command 提到的,指令间的多个空白会被忽略掉;
3. 而空白行也将被忽略掉!,并且 tab 也是不会被理会的!
4. 至于如果一行的内容太多,则可以使用 / 来延伸至下一行;
5. 此外,使用最多的 # 可做为批注!任何加在 # 后面的字,将全部被视为批注文字而被忽略!

 二:

在撰写一个 scripts 的时候,最好养成良好的习惯:
1. 先宣告使用的 shell 为何?(特别留意这一点,在某些状况中,例如 /etc/crontab 情况下,如果
没有宣告使用的 shell ,常常会出现错误讯息而导致 scripts 无法被执行呦!)
2. 注明该 script 的内容功能、版本信息、作者、建文件日期等等
3. 每一个大步骤的主要功能(也顺便提供自己未来修改之用!)
那么 scripts 这个档案要如何来执行呢?执行的方法有两种:
* 一个是将该档案改成可以执行的属性,如chmod 755 scripts.file ,然后执行该档案;
* 另一种则是直接以 sh 这个执行档来执行 script 的内容,如 sh scripts.file!

三:

1:卷标与运算符号:declare

declare 【afirx】

-a:定义为数组

-f:定义为函数

-i:定义为整数

-r:定义为只读

-x:定义为透过环境输出变量

2:

read 的功能就是
『依据您在键盘输入的结果 input 到变量内容中』

3:定义一个 script 的参数的代号

myscript opt1 opt2 opt3 opt4
  $0 $1  $2  $3  $4

myscript为自己shell的文件名,$1,$2,$3,$4为你执行该shell时候的参数。

$0 : myscript 亦即是 script 的檔名
$1 : opt1 亦即是第一个附加的参数 (parameter)
$2 : opt2
$3 : opt3

四:逻辑判断式与表达式

1:if then fi 的方式

if [ 条件判断一 ] && (||) [ 条件判断二 ]; then       <== if 是起始的意思,后面可以接若干个判断式,使用 && 或 ||
    执行内容程序
elif [ 条件判断三 ] && (||) [ 条件判断四 ]; then     <==第二段的判断,如果第一段没有符合就来此搜寻条件
    执行第二段内容程序
else                                            <==当前两段都不符合时,就以这段内容来执行!
    执行第三段内容程序
fi                                              <==结束 if then 的条件判断!

新手常犯的错误

1. 在 [ ] 当中,只能有一个判别式;
2. 在 [ ] 与 [ ] 当中,可以使用 && 或 || 来组织判别式
3. 每一个独立的组件之间『都需要有空格键来隔开』!

2:case ...esac 的方式

case 种类方式(string) in          <==开始阶段,那个种类方式可分成两种类型,通常使用 $1 这一种直接下达类型!
    种类方式一)
       程序执行段
       ;;                     <==种类方式一的结束符号!
    种类方式二)
       程序执行段
       ;;
    *)
       echo "Usage: {种类方式一|种类方式二}"     <==列出可以利用的参数值!
       exit 1
esac                         <==这个 case 的设定结束处!

 

五:循环

1:* for (( 条件一; 条件二; 条件三 ))
* for variable in variable1 variable2 .....

for有以上两种表示方法

其中for (( 条件一; 条件二; 条件三))中

* 条件一:这可以看成是『初始值』
* 条件二:这可以看成是『符合值』
* 条件三:这可以看成是『步阶』!

2:while...do...done

while:当条件相同的时候,就继续做!

3:until...do...done

until:直到条件相同的时候才离开程序

原创粉丝点击