shell指令碼程式中的部分常用環境變數和引數變數的說明以及簡單shell指令碼示例
環境變數
- $HOME
當前使用者的家目錄 - $PATH
以冒號分隔的用來搜尋命令的目錄列表 - $PS1
命令提示符,通常是$字元,但在bash中,可以使用一些更復雜的值。例如,字串[\[email protected]\h\w]$就是一個流行的預設值,它給出使用者名稱/機器名和當前的目錄名,當然也包括一個$提示符。 - $PS2
二級提示符,用來表示後續的輸入,通常是 > 字元。 - $IFS
輸入域分隔符。當shell讀取輸入時,它給出用來分隔單詞的一組字元,他們通常是空格,製表符和換行符。 - $0
shell指令碼的名字 - $#
傳遞給指令碼的引數的個數 - $$
shell指令碼的程序號,指令碼程式通常會用它來生成一個唯一的臨時檔案,如/temp/tmpfile_$$
引數變數
- $1 , $2 , ...
指令碼程式的引數 - $*
在一個變數中列出所有的引數,各個引數之間用環境變數IFS中的第一個字元分隔開。如果IFS被修改了,那麼$*將命令列分隔為引數的方式將隨之改變。 - [email protected]
它是$*的一種精巧的變體,它不使用IFS環境變數,所以即使IFS為空,引數也不會擠在一起。
shell指令碼示例
#!/bin/sh salutation="Hello" echo $salutation set foo bar bam echo "The program $0 is now running" echo "The second parameter was $2" echo "The first parameter was $1" echo "The parameter list was $*" echo "The user's home directory is $HOME" echo "Please enter a new greeting" read salutation echo $salutation echo "The script is complete" exit 0<span style="color:#cc0000;"> </span>
測試結果
這個指令碼程式建立變數並顯示它的內容,然後顯示各種引數變數以及環境變數$HOME都已經存在並有了適當的值。
相關推薦
shell指令碼程式中的部分常用環境變數和引數變數的說明以及簡單shell指令碼示例
環境變數 $HOME 當前使用者的家目錄$PATH 以冒號分隔的用來搜尋命令的目錄列表$PS1 命令提示符,通常是$字元,但在bash中,可以使用一些更復雜的值。例如,字串[\[email protected]\h\w]$就是一個流行的預設值,它給出使用者名稱/機
Shell程式設計-03-Shell中的特殊變數和擴充套件變數
特殊變數 在Shell中的特殊變數主要分別兩種位置引數變數、狀態變數兩種。 位置引數變數 Shell中的位置引數變數主要是指$0、$1、$#等,主要用於從命令列、函式或指令碼執行等地方傳遞引數。詳細說明如下所示: $0:獲取當前執行的Shell指令碼的檔名,如指令碼中包含路徑,則
linux shell “永久環境變數”、“臨時環境變數”和"普通變數"之完全解讀
這個年代, 大家寫點書, 也無非就是為了搞點錢, 基本都是羅列一些知識點, 基本都是寫給已經會了的人看的。 真正用心寫書的人, 不多。 如果真正用心寫書, 且站在讀者的角度去寫, 那就少之又少了。 關於linux shell環境變數, 我看
Shell程式設計中的“區域性變數”和“匯出變數”
http://roclinux.cn/?p=1277 為了防止某些網站的惡性轉載,特在每篇文章前加入此資訊,還望讀者體諒。 === [正文開始] 如果你對子Shell的概念不甚瞭解,如果你對export的用法還沒吃透,如果你不知道Shell如何管理你的變數,請
解決Windows 10開始介面下所有程式中部分圖示無法刪除問題
問題:Windows 10 系統開始介面的所有程式中,自己明明解除安裝或是Windows給使用者留下的一個動態連結圖示(實質上系統裡面根本沒有該類軟體),當你右鍵圖示選擇解除安裝選項時會彈出 “控制面板” 下的 “解除安裝程式”介面解決方法:1、開啟C盤,找到ProgramD
環境變數中administrator的使用者變數和系統變數
我們在java執行環境或android開發環境時,經常要配置環境變數,如圖所示, 這裡有administrator的使用者變數(U),和系統變數(S), 那麼,它們之間有什麼區別呢? 簡單的說,一個是當前使用者使用,你用其它使用者登陸,這個環境變數就不起作用了。 系統變數
sql優化(oracle)- 第二部分 常用sql用法和註意事項
個數 its 用法 記錄 減少 合並 .com 語句 一個 第二部分 常用sql用法和註意事項 1. exists 和 in 2. union 和 union all
java中成員變數和區域性變數
1.成員變數 在類中定義,用來描述物件將要有什麼。 2.區域性變數 在類的方法中定義,在方法中臨時儲存資料 成員變數和區域性變數區別 1.作用域不同 成員變數的作用域在整個類內部都是可見的 區域性變數的作用僅限於定義它的方法、 2.初始值不同 jav
PHP中的$_GET變數和$_POST變數(二)
PHP中的$_GET變數和$_POST變數(二) $_POST變數 $_POST變數是一個數組,內容是由HTTP POST方法傳送的變數名和對應的值 $_POST變數用於收集來自method = "post"的表單中的值。從帶有POST方法
PHP中的$_GET變數和$_POST變數(一)
PHP中的$_GET變數和$_POST變數(一) $_GET變數 $_GET變數用於收集來自method=“get"的表單中的值,其中這些值能夠很直觀地在瀏覽器的位址列裡看到,例如,我使用百度搜索“PHP”的時候,瀏覽器發起請求的url為https:
windows 使用者變數和系統變數中的Path差別
點選“我的電腦→屬性→高階系統設定”標籤的“環境變數”button,出現“環境變數”對話方塊,假設當前是以Administrator登入系統的使用者。對話方塊的上面為Administrator的使用者變數,對話方塊的以下為系統變數(即相當於系統中全部使用者的使用者變數)。
Java中ThreadLocal,成員變數和區域性變數。
一.成員變數和區域性變數 1.程式例子: public class HelloThreadTest { public static void main(String[] args) { HelloThread r = new HelloThread();
java中例項變數和類變數的區別
最近在學習java虛擬機器,有點搞不清例項變數和類變數的區別,特此記錄一下 例項變數 個人理解有點像成員變數,在建構函式的時候進行初始化 1.例項變數宣告在一個類中,但在方法、構造方法和語句塊之外; 2.當一個物件被例項化之後,每個例項變數的值就跟著確定; 3.例項變數在物件
J2EE中一些常用的方法和細節整理
1.setAttribute、getAttribute方法 方法 描述 注意點 void setAttribute(String name,Object o) 設定屬性的名稱及內容
JS中最經典的全域性變數和區域性變數問題(1、作用域和作用域鏈 2、變數宣告提前)
var a = 10; function test(){ a = 100; console.log(a); console.log(this.a); var a; console.log(a); } test(); 1、程式的執行結果為:100
利用shell將mysql中資料匯出到檔案和執行mysql語句
利用mysqldump匯出mysql資料 匯出指定條件的資料庫 命令格式 mysqldump -u使用者名稱 -p密碼 -h主機 -P埠 資料庫名 表名 --where "sql語句" > 路徑 示例程式碼 #!/bin/bash #變數定義 host="127.0.
Python 中的類變數和例項變數(關鍵詞:Python/類變數/例項變數)
類變數: class 語句的頂層進行賦值的變數,會被附加在類中,被所有例項所共享; 例項變數:附加在例項上的變數,不被共享,可通過這 2 種方式建立或修改: aInstance.name = sth 的形式; 類的例項方法中,self.name = sth 的形式。
JSP中的全部變數和區域性變數
重新整理問題: jsp區域性變數儲存在棧中,所以一定要有初值。當jsp執行很多次時,呼叫多少次就會重新初始化多少次,所以區域性變數的值始終保持不變。對於全域性變數來說,不管執行多少次,上一次對全域性變數的執行結果即為下一次執行的初始值。測試程式碼如下: <%@ p
python中的例項變數和類變數以及區別
1,例項變數 :可以通過self點出的變數全部為例項變數。例項變數就是物件,呼叫方式:通過物件名呼叫。一個物件的值改變不影響另 外一個物件值 2,例項變數的生命週期:物件銷燬,物件執行完,物件被後面的覆蓋,例項變數就銷燬。, 3,類變數的生命週期:隨著類存在,是要類不刪除
Python中的全域性變數和區域性變數
當局部變數和全域性變數名字一樣時,依然是不同的變數,但是值一樣時,地址依然一樣。值不一樣時,地址不一樣,修改區域性變數,全域性變數的值依然不變,例如: num = 100 def test(): num = 99 print("區域性變數num