標籤:shell-內建命令
注釋: # 注意:shell 檔案開頭的#!/bin/bash 裡的#不是注釋運行: 1、bash shell.sh 2、chmod +x shell.sh -> ./shell.sh 3、添加到PATH 變數中 4、. ./shell.sh排錯: 1、語法錯誤 運行時會有提示 2、邏輯錯誤 使用echo 列印, sleep number:睡眠number 秒,降低迴圈速度 使用bash -x 來調試shell 指令碼 第三方工具:bashdb內建命令: 1、判斷一個命令是否是內建的:type 2、執行程式:“.”,即使檔案沒有執行許可權,也可以使之執行 例:. ./HelloWorld.sh 等價於source:source HelloWorld.sh 3、別名:alias a、#alias 查看當前shell 別名 b、#alias mycommand=’command’ c、為了儲存alias,可以在家目錄的.bashrc 檔案中添加 4、刪除別名:unalias 5、任務前背景切換:bg,fg,jobs 6、改變目錄:cd 7、聲明變數:declare、typeset declare 命令的參數: -i:聲明變數是整數型別 -r:聲明變數是唯讀類型 -a:聲明數組 -f/F:顯示指令碼中定義的函數和函數體 -x:聲明一個變數作為指令碼的環境變數而被匯出 8、echo -n:不列印分行符號 -e:禁止解釋列印反斜線轉義的字元 例: echo “\n” 結果是\n echo -e “\n” 結果是一個空行 echo:換行 9、break 當有數字參數number(必須大於1)時,表示跳出幾層迴圈 10、continue 當有數字參數number(必須大於1)時,表示跳出幾層迴圈 11、eval 將所跟的參數作為Shell 的輸入,並執行產生的命令 12、exec 執行命令來取代當前的shell,典型應用是與find 一起 內建命令exec 並不啟動新的shell,而是用被執行的命 令替換當前的shell 進程,並且將老進程的環境變數清理掉, 而且exec 命令後的其他命令將不再執行。 例: a、列出系統中所有的以.conf 結尾的檔案 find / -name “*.conf” -exec ls -l {} \; b、刪除系統中所有的臨時檔案愛你 find / -name “*.tmp” -exec rm -f {} \; 13、退出exit 14、使變數能夠被子shell 識別export 15、kill 發送訊號到指定的PID 或進程 linux 中的三種進程:Shell 互動進程,批處理進程,系 統守護進程。 殺死進程 16、整數運算let 例: let I=2+2 let j=5-4 let k=2*5 let l=17/5 let m=15%7 let n=2**4 -->n=2^4=16 let i++ let j-- let i+=10 let j-=10 17、顯示當前工作目錄pwd 18、聲明局部變數local 19、從標準輸入讀取一行到變數:read 20、return 21、shift,向左移動位置參數 位置參數: $1...$N:依次表示第N 個參數 [email protected]或$*:表示所有的參數 $0:表示指令碼本身 $#:表示參數的總數 22、顯示並設定進程資源限度ulimit 23、測試test
shell學習筆記之一(shell內建命令)