二、萬用字元
三、連線符
四、輸出重定向
概念:shell是計算機軟體和硬體之間的翻譯官
echo
echo 「hello world」
echo 『hello world』
echo hello world
注意:在shell中沒有字元和字串的區分,echo後面可以原樣輸出
把shell命令寫入指令碼的執行方式:
路徑/*** 必須對於當前使用者有相應的可執行許可權才可以執行;路徑如果是當前目錄,必須加./***
bash *** 不需要可執行許可權,可以直接執行
宣告變數
變數名=內容
讀取變數
$變數名 / $
取消變數
unset 變數名
注意:盛放資料的容器,元素內容可變長度不可變
表現形式:陣列名=(arg1 arg2 …)
讀取資料:命令
含義$預設讀取當前陣列的第乙個元素
$讀取當前陣列索引位置為n的元素
$讀取當前陣列內所有的元素
$讀取當前陣列的長度
陣列名[n]=***
修改當前陣列索引位置為n的元素值為***
read 變數名 從控制台讀取資料賦給這個變數
-p "***" 讀取資料的時候在控制台給提示語
-t n 給定乙個超時時間,超時自動退出,時間單位是秒
檢視歷史命令,預設儲存1000條,數量可以修改
!n 直接執行(不可以修改)第n條歷史命令
功能與正規表示式類似,但是匹配的是檔案/目錄名稱
符號含義
[abcde]
代表乙個字元,匹配內容必須在中括號出現
[a-e]
代表乙個字元,匹配內容必須在中括號範圍內出現
[^abcd-m]
代表乙個字元,匹配內容必須不在括號範圍**現
*0到任意多個字元
?1個任意字元
連線多條命令的符號
符號含義
;兩側的命令按順序分別執行,與執行對錯無關
&&用短路與連線兩個語句。
如果第乙個語句正確,執行第二個語句;如果第乙個語句錯誤,不執行第二個語句
||用或連線兩個語句。
如果第乙個語句正確,不執行第二個語句;如果第乙個語句錯誤,執行第二個語句
|管道符,左側語句的輸出是右側語句的輸入
把正常的輸出位置重新定義乙個方向。
比如echo,正常輸出到控制台,可以重定向寫入檔案
標準正確輸出,如果語句錯誤不寫入檔案,直接在控制台報錯
語句 [1]> 檔名 以覆蓋的形式寫入檔案中
語句 [1]>> 檔名 以追加的形式寫入檔案中
標準錯誤輸出,如果語句正確不寫入檔案,直接在控制台報錯
語句 2> 檔名 以覆蓋的形式寫入檔案中
語句 2>> 檔名 以追加的形式寫入檔案中
正確和錯誤寫入同乙個檔案中
語句 >> 檔名 2>&1 完全等價於 語句 &>> 檔名
正確和錯誤分別寫入不同檔案
語句 >> 檔案1(存放正確結果) 2>> 檔案2(存放錯誤結果)
注意:標準正確輸出,只寫入執行正確的結果
標準錯誤輸出,只寫入執行錯誤的報錯資訊
語句 符號 檔名 之間必須有空格,數字和符號之間不能有空格
命令注入 命令連線符
分號 命令按照順序 從左到右 被執行,並且可以用分號進行分隔。當有一條命令執行失敗時,不會中斷其它命令的執行。eg ping c 4 127.0.0.1 sleep 6 兩條都是有效命令 test sleep 6 test無效命令,即執行失敗,sleep一樣執行 管道符 通過管道符可以將乙個命令的標...
shell 指令碼命令 重定向
希望想將在終端輸出的資訊儲存到檔案,直接在命令後面加上 filename即可 希望想將在終端輸出的資訊儲存到檔案,直接在命令後面加上 filename即可 shell允許開啟至多10個檔案,檔案描述符從0,1,2,9 在當前路徑下 執行.sh 檔案 test.sh 如果沒有其許可權 ch mod x...
命令重定向操作符
使用命令重定向操作符 redirection operators 可以使用重定向操作符將命令輸入和輸出資料流從預設位置重定向到不同的位置。輸入或輸出資料流的位置即為控制代碼。下表列出了可用於將命令輸入和輸出資料流進行重定向的操作符。重定向操作符 說明 將命令輸出寫入到檔案或裝置 例如印表機 中,而不...