1. 程式人生 > >13Shell腳本—編寫簡單腳本

13Shell腳本—編寫簡單腳本

echo 普通 權限 inter man ech 事先 pre 一次

1. 概述

Shell腳本命令的工作方式有兩種:交互式和批處理。

交互式(Interrctive): 用戶每輸入一條命令就立即執行。

批處理(Batch): 由用戶事先編寫好一個完整的 Shell 腳本, Shell 會一次性執行腳本中諸多的命令。

Shell腳本文件的名稱可以任意。但為了避免被誤以為是普通文件,建議將 .sh 後綴加上,以表示是一個腳本文件。

2. 第一個簡單的shell腳本

[root@rockman 0614]# vi example.sh
#!/bin/bash
#For example by rock
pwd
ls -l
#第一種執行方法   bash 腳本文件名及其參數 或者 sh 腳本文件名及其參數
[root@rockman 0614]# bash example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rw-r--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt
#第二種執行方法   先讓Shell文件權限加上可執行,然後直接運行
[root@rockman 0614]# chmod u+x example.sh
[root@rockman 0614]# ./example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rwxr--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt
#第三種方法  source 腳本文件名及其參數 或者 . 腳本文件名及其參數
[root@rockman 0614]# source example.sh
/home/hk/0614
total 20
-rw-r--r--. 1 root root   65 Jun 14 17:32 aaa.txt
-rw-r--r--. 1 root root    0 Jun 14 16:17 abc.txt
-rw-r--r--. 1 root root    0 Jun 14 16:23 bbb.txt
-rw-r--r--. 1 root root    0 Jun 14 16:27 ccc.txt
-rw-r--r--. 1 root root   43 Jun 14 17:51 example.sh
-rw-rw-r--. 1 hk   hk   4731 Jun 14 09:10 openman.txt
-rw-rw-r--. 1 hk   hk     22 Jun 14 09:11 practice.txt

3. 可以接受用戶參數的腳本文件

Shell內置可用於接受參數的變量,變量之間可以使用空格間隔。

$0      當前shell腳本程序的名稱
$#      總共有幾個參數
$*      所有位置的參數值
$?      顯示上一次命令執行的返回值
$1      第一個位置的參數值
$N      第N個位置的參數值
[root@rockman 0615]# cat example.sh
#!/bin/bash
echo "當前腳本名稱為$0"
echo "總共有$#個參數,分別是$*。"
echo "第1個參數為$1, 第二個參數為$2。"

[root@rockman 0615]# sh example.sh one two three four five six
當前腳本名稱為example.sh
總共有6個參數,分別是one two three four five six。
第1個參數為one, 第二個參數為two。

13Shell腳本—編寫簡單腳本