一、建立一個shell文件夾,並切入到文件夾中shell
[root@xuexi-001 ~]# mkdir shell [root@xuexi-001 ~]# cd shell/ [root@xuexi-001 shell]#
二、寫shell腳本bash
[root@xuexi-001 shell]# vi 01.sh #! /bin/bash //固定格式 echo "123" w ls 保存退出
三、執行腳本——>sh 01.shcode
[root@xuexi-001 shell]# sh 01.sh 123 20:57:28 up 19 min, 2 users, load average: 0.00, 0.01, 0.06 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 20:40 17:28 0.02s 0.02s -bash root pts/0 192.168.5.1 20:40 0.00s 0.01s 0.00s sh 01.sh 01.sh
四、在當前終端裏,把01.sh中的#! /bin/bash 去掉後在執行腳本,會看到獲得的結果相同,不會出現任何的問題,這就說明這臺機器是能識別裏面一條一條的命令的,去運行這裏面的命令;但如果換一臺機器,就不必定能執行了終端
五、在第一行,文件頭指定 #!/bin/bash ,接下來要運行的命令是經過哪個解釋器來操做的,一般都是 /bin/bash 解釋器來執行的權限
六、給01.sh文件一個執行權限語法
[root@xuexi-001 shell]# chmod a+x 01.sh
七、執行shell腳本 ./01.sh 能這樣執行,說明這些命令被解析了,被/bin/bash認識了方法
[root@xuexi-001 shell]# ./01.sh 123 21:00:26 up 22 min, 2 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 20:40 20:26 0.02s 0.02s -bash root pts/0 192.168.5.1 20:40 2.00s 0.02s 0.00s /bin/bash ./01 01.sh
八、/bin/bash也是一條命令, /bin/bash 和 /bin/sh 是同一個文件腳本
[root@hanfeng shell]# ls -l /bin/bash -rwxr-xr-x. 1 root root 960368 6月 10 2014 /bin/bash [root@hanfeng shell]# ls -l /bin/sh lrwxrwxrwx. 1 root root 4 10月 21 00:47 /bin/sh -> bash [root@hanfeng shell]#
九、01.sh文件內容就是被/bin/bash所解析的di
十、若沒有 /bin/bash ,能夠使用 /bin/bash 01.sh去執行文件
[root@xuexi-001 shell]# /bin/bash 01.sh 123 21:01:05 up 22 min, 2 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 20:40 21:05 0.02s 0.02s -bash root pts/0 192.168.5.1 20:40 1.00s 0.02s 0.00s /bin/bash 01.s 01.sh
十一、如果在shell腳本中在寫入第二遍 #號開頭的行, 就表示解釋說明的做用
十二、腳本的通常都是以.sh結尾,是爲了區分這是一個shell腳本,不然須要打開這個文件,才知道是shell腳本
1三、運行shell腳本有兩種方法
[root@xuexi-001 shell]# /root/shell/01.sh 123 21:01:38 up 23 min, 2 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 20:40 21:38 0.02s 0.02s -bash root pts/0 192.168.5.1 20:40 2.00s 0.02s 0.00s /bin/bash /roo 01.sh
1四、查看腳本執行過程 sh -x 01.sh 或者bash -x 01.sh
[root@xuexi-001 shell]# sh -x 01.sh + echo 123 123 + w 21:02:07 up 23 min, 2 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 20:40 22:07 0.02s 0.02s -bash root pts/0 192.168.5.1 20:40 7.00s 0.02s 0.00s w + ls 01.sh
1五、查看腳本是否有錯誤 sh -n 01.sh
[root@xuexi-001 shell]# sh -n 01.sh [root@xuexi-001 shell]#