1. 程式人生 > >shell echo/read/printf/流程控制章節筆記

shell echo/read/printf/流程控制章節筆記

ase 十進制數 字段 print highlight 長度 one 執行 int

// echo read printf 流程控制 命令

1、read 命令從標準輸入中讀取一行,並把輸入行的每個字段的值指定給 shell 變量  

read hello  
輸入xxx   
echo $hello  
顯示 xxx  

read 參數  
-p 提示文字
-n 輸入的字符長度
-t 輸入限時
-s 隱藏輸入內容 輸入時不顯示  

read -p ‘請輸入密碼‘ -s password   
輸入  
echo $password  // 顯示剛才輸入的字符  

2、echo -e "11111\n2222"  //  -e 開啟轉義  

3、printf [format] 文本 文本 格式化輸出  

%s 字符串  
%f 浮點數  %f.2 保留兩位小數   printf %.2f 1.3333  
%c char字符 單字符 
printf "%c %.2f" aaaaaa 1.3333  // a 1.33  
%d 十進制數
%-10s  // -左對齊 默認右對齊 10s 10個字符寬  

printf "11111\n2222" // 打印換行  


4、流程控制  

if condition  
then  
else  
elif  
fi  // if 的反轉  

-------

for var in xxx  // var變量 (for i in xxx)  
do   
done  

-------

hello=(a b c d e)  
for i in ${hello[@]}  
do  
echo $i  
done  

-------

for i in 1 2 3 4 5  
do  
    echo $i  
done  

-------

while condition  
do  
command  
done  

-------

num=1  
while (( $num < 10 ))  
do  
echo $num  
let num++  // 等同於 num=`expr $num + 1`  
done 

------- 

echo -p ‘輸入數字: ‘ -s  
read num  
case $num in  
    1)  echo ‘你選擇了 1‘  
    ;;  
    2)  echo ‘你選擇了 2‘  
    ;;  
esac  

-------

until跟while相反  

num=10  
until [ $num -le 1 ]  // 直到小於等於1停止執行 
do  
echo $num  
num=`expr $num - 1`  
done  

-------

for (( i=0; i<10; i++))  
do   
echo $i  
done  

-------

while :  
do  
echo ‘輸入一個數字‘  
read num  
case $num in   
  1|2|3|4|5) echo “你輸入了$num”  
  ;;  
  *) echo "你輸入了1-5之外的數"  
  break   
  ;;  
  esac  
  done  

  

shell echo/read/printf/流程控制章節筆記