1. 程式人生 > >執行Shell指令碼的方法

執行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
[

[email protected] /]# . /tmp/test.sh

點號 . 用於執行某個指令碼,沒有可執行許可權也可以

b、source (空格) 相對或絕對方式
與 . 類似,source 命令也可讀取並在當前環境中執行指令碼,同時還可返回指令碼中最後一個命令的返回狀態;如果沒有返回值則返回 0,代表執行成功;如果未找到指定的指令碼則返回 false

以下面兩種方式執行指令碼時,除增加第一行外,指令碼同時還必須有可執行許可權

chmod +x /path/to/test.sh

c、相對或絕對路徑方式。相對路徑方式需先cd到指令碼路徑下
[[email protected]

tmp]# cd /tmp
[[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