執行Shell指令碼的方法
1、 作為直譯器引數
[[email protected] /]# vi /tmp/test.sh
指令碼內容如下:
islost=K.O
echo $islost
[[email protected] /]# bash /tmp/test.sh
也可以用sh /tmp/test.sh
2、作為可執行程式
這種方式執行的指令碼,需要在第一行指定直譯器資訊,讓系統查詢到正確的直譯器。
指令碼內容如下:
#!/bin/bash
islost=K.O
echo $islost
a、. (空格) 相對或絕對方式
[[email protected] /]# . ./test.sh
[
點號 . 用於執行某個指令碼,沒有可執行許可權也可以
b、source (空格) 相對或絕對方式
與 . 類似,source 命令也可讀取並在當前環境中執行指令碼,同時還可返回指令碼中最後一個命令的返回狀態;如果沒有返回值則返回 0,代表執行成功;如果未找到指定的指令碼則返回 false
以下面兩種方式執行指令碼時,除增加第一行外,指令碼同時還必須有可執行許可權
chmod +x /path/to/test.sh
c、相對或絕對路徑方式。相對路徑方式需先cd到指令碼路徑下
[[email protected]
[[email protected] tmp]# ./test.sh
或
[[email protected] tmp]# /tmp/test.sh
使用 . 或者 source 使指令碼內容在當前shell裡執行,不是單獨開子shell執行;而其他方式都是在當前shell中開啟一個子shell來執行指令碼內容,當指令碼內容結束,則子shell關閉,回到父shell中
https://m.jb51.net/article/66824.htm
http://c.biancheng.net/view/739.html