簡單的shell指令碼及執行

2021-10-03 01:15:07 字數 1848 閱讀 7469

which命令:查詢命令的完整路徑

具體功能:

which命令用於查詢並顯示給定命令的絕對路徑, 環境變數$path中儲存了查詢命令時需要遍歷的目錄。

which指令會在環境變數 $path設定的目錄裡查詢符合條件的檔案。 使用which命令,就可以看到某個系統命令是否存在,

以及執行的到底是哪乙個位置的命令。

/etc/shells:乙個有效登陸shell的列表

可以檢視可以使用的shell直譯器

vim 01.sh			#寫乙個指令碼(檔名必須以.sh結尾)

有以下幾種方法都可執行指令碼:

1)sh 01.sh

sh test.sh :即使在指令碼中指定了#!/bin/bash,但仍然是使用/bin/sh執行test.sh

=bash a.sh ##將指令碼作為引數傳給直譯器。指定直譯器解釋指令碼,這樣就不需要在指令碼中指定直譯器,指定了也沒用。

2)/bin/bash a.sh ###將指令碼作為引數傳給直譯器。指定直譯器解釋指令碼,這樣就不需要在指令碼中指定直譯器,指定了也沒用。

3)chmod +x 01.sh ##這種方式會找到shell指令碼中指定的直譯器,然後執行

./a.sh

4)source a.sh###在同一程序執行shell,並且強制執行。這樣做的好處是可以呼叫指令碼中的變數

read命令來從標準輸入中讀取使用者輸入的資料

$(佔位符)表示變數

執行 shell 指令碼有兩種方法:一種在新程序中執行,一種是在當前 shell 程序中執行。

1.sh ***.sh

2.chmod +x ***.sh #將shell指令碼作為程式執行

./***.sh

上述命令均需要在指令碼檔案中指定shell直譯器

3. /bin/bash ***.sh #或者指定其他的shell直譯器

通過上述命令不需要在指令碼檔案中編寫直譯器的資訊,寫了也沒用

4. bash ***.sh #更為簡潔,執行bash命令,shell會在目錄中找到對應的應用程式

上述兩種寫法本質上是一樣的,只不過多了個查詢的過程而已

如何判斷是不是新程序,檢視指令碼檔案執行後的程序的pid和當前terminal的pid就可以判斷了。

在shell中,可以使用$$變數獲取當前程序的pid。

1.先獲取指令碼檔案程式的pid

2.檢視termianl的pid(使用source命令或.可強制執行指令碼不用加許可權,並且在當前程序中執行指令碼)

source用法( 將自身指令碼中的變數值或函式等的返回值返回到當前shell)

Shell 指令碼學習 簡單的執行跟蹤

程式是人寫的,難免會出錯。想知道你的程式正在做什麼,有個好方法,就是把執行跟蹤的功能開啟。這會使得shell顯示每個被執行到的命令,並在前面加上 乙個加號後面跟著乙個空格。在指令碼裡,用 set x 命令將執行跟蹤的功能開啟,然後再用 set x 命令關閉它。這個功能對複雜的指令碼比較有用,不過這裡...

簡單的shell指令碼編寫和執行

vi shell.sh 1 bin bash 這裡不是注釋,這句話的作用是標註接下來寫的內容是shell指令碼,不可省略 2 author pingfanzzz 3 4 5 echo this is my first shell script wq儲存退出後修改許可權 chmod 755 shell...

shell的簡單編寫及執行

sell指令碼 1.新建檔案 副檔名.sh 2.寫 3.給許可權,執行 x執行,絕對路徑,相對路徑 test.sh root test.sh vim a.sh bin bash 直譯器是誰 例 vima sh bin bash hello word echo hello word chmod x a...