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...