Shell學習之for語句

2021-08-19 04:03:55 字數 959 閱讀 5085

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 ...