問題
如何將乙個檔案中的shell語句改為系統命令,就是不加./直接能執行
例如將當前資料夾作為環境變數
三種辦法:
(1)當前命令列
mypath="`pwd`"#獲取檔當前路徑
path=$path:$mypath
(2)修改profile檔案,持久
vim profile
找到檔案中export模組,增加一行
export $mypath
不會立即執行,需要在命令列中輸入
source profile
(3)修改使用者的bashrc
寫入
path=$path:$mypath
sourc bashrc
判斷程式執行的狀態,比如這個程式操作的物件是的狀態(物件的屬性,物件的許可權等)。
通俗說法就是用於判斷條件中的語句改怎麼表達
檔案狀態測試
-b -f -d
邏輯操作
字串測試
-z-n
= > < !=
數值測試
e代表equel,
g代表great,
t代表than,
n代表not,
l代表great
-eq-ne
-lt-gt
-ge-le
if while for case
刪除輸入資料夾下面的所有.c檔案如果檔案全部清除就刪除該目錄
for i in $* ;
do find "$i" -name "*.c" -exec rm -r -f {} \;
[ -z "`ls $i`" ] &&
done
評定分數,如果分數在多少就輸出等級
needquit=0
while [ $needquit -eq 0 ]
doecho "please input the score"
read score
case $score in
100|9[0-9]) echo "very good";;
8[0-9]) echo "good";;
7[0-9]) echo "middel";;
6[0-9]) echo "pass";;
[1-5][0-9]) echo "failure";;
quit|q) echo quit
needquit=1;;
*) echo "wrong input!";;
esac
echo ""
done
Shell程式設計 shell特性
linux會預設記錄1000條歷史記錄,可通過 echo histsize 檢視,如果講histsize更改為2000,那麼會預設儲存2000條。1000條記錄儲存在家目錄的 bash history 中,僅當使用者正常退出當前shell時,當前shell中執行的命令才會儲存到 bash histo...
Shell程式設計 Shell函式
shell函式 1.將命令序列按格寫在一起 2.可方便重複使用命令序列 3.shell函式定義 function 函式名 4.呼叫函式的方法 函式名 引數1 引數2 5.shell函式應用示例 1 兩個數字求和 要求 通過sum 定義函式 兩個數求和 方法一 root localhost vim d...
Shell程式設計
1 建立指令碼 vi emacs等即可 bin sh 2 shell變數 對shell來講,所有的變數的取值都是乙個字串 shell是一種解釋性語言,變數無需事先定義 shell中的系統變數 程式命令列引數的數目 儲存前乙個命令的返回值 0 當前程式名 以 1 2 形式儲存所有輸入的命令列引數 以 ...