for/do/done
shell指令碼的
for迴圈結構和
c語言很不一樣,它類似於某些程式語言的
foreach
迴圈。例如:
#! /bin/sh
echo "i like $fruit"
done
fruit是乙個迴圈變數,第一次迴圈
$fruit
的取值是
,第二次取值是
banana
,第三次取值是
pear
。再比如,要將當前目錄下的
chap0
、chap1
、chap2
等檔名改為
chap0~
、chap1~
、chap2~
等(按慣例,末尾有
~字元的檔名表示臨時檔案),這個命令可以這樣寫:
$ for filename in chap?; do mv $filename $filename~; done
也可以這樣寫:
$ for filename in `ls chap?`; do mv $filename $filename~; done
#! /bin/bash
for myfile in $(ls); do
printf "$myfile "
if [ -d "$myfile" ]; then
echo "it is a dir."
elif [ -f "$myfile" ]; then
echo "it is a file."
else
echo "this is other"
fidone
Shell學習之while語句
while do done while的用法和 c語言類似。比如乙個驗證密碼的指令碼 bin sh echo enter password read try while try secret do echo sorry,try again read try done 下面的例子通過算術運算控制迴圈的...
SHELL學習之 case語句
case語句是點名語句,每個分支語句之間是平衡的,在進行判定時,每個分支語句之判定一次,適合於字元匹配。if else 語句適合在判斷時用,if語句每個分支語句之間是有優先順序的,在進行判定時,每個語句都要判定一次。case語句和if語句相比,判定次數少。root fuwu test cat cas...
shell 學習之case語句
一般建議變數用引號括起來 v 顯示資訊 case shift 把剛才的變數踢掉 一 case語句 語法結構 case stitch in value1 statement value2 statement esac 示例 給出選項讓使用者選擇,然後根據使用者所選顯示出相應的資訊 1 2 3 4 5 ...