1. 程式人生 > >shell程式設計學習

shell程式設計學習

#!/bin/bash
:<<EOF
多行註釋
EOF

hello="Hello"
echo "===================================${hello} World! \"hello\"長度="${#hello}===================================

# 陣列測試
array_test=(1 2 "3")
echo '列印一個元素:'${array_test[1]},'列印所有元素(@或*):'${array_test[@]}

# 引數測試
if [ $# -lt 2 ];then
    echo "引數個數少於2!!!"
    exit;
fi
echo "引數個數\$#=$#-----\$0=$0-----\$1=$1-----\$2=$2"
for i in "

[email protected]"; do printf '$'$i'='$i','; done
for i in "$*"; do echo -----'作為一個字串輸出所有引數:$*='$i; done

if [ -d '/home/oozie/zhaiyc' ]; then echo 'is dir'; else echo 'not dir'; fi

read -p "請5秒內輸入6位密碼:" -n 6 -t 5 -s password
echo -e "\nText is $password"

i=1;j=1
if [ $i -gt $j ];then
    echo '>'
elif [ $i -eq $j ];then
    echo '='
else
    echo '<'
fi

#for i in 1 2
for((i=1;i<=5;i++));do
    echo "這是第 $i 次呼叫";
done

i=1
while(( $i<=2 ))
do
    echo 'While測試輸出:'$i
    #let "i++"
    i=`expr $i + 1`  # 看清不是'(單引號)
done

aNum=3
case $aNum in
    1|2|3)  echo '你選擇了 1-3'
    ;;
    4)  echo '你選擇了 4'
    ;;
    *)  echo '你沒有輸入 1 到 4 之間的數字'
    ;;
esac

funWithParam(){
    echo "第一個引數為 $1 !"
    echo "第二個引數為 $2 !"
    echo "第十個引數為 $10 !"
    echo "第十個引數為 ${10} !"  # 注意,$10 不能獲取第十個引數,獲取第十個引數需要${10}。當n>=10時,需要使用${n}來獲取引數。
    echo "第十一個引數為 ${11} !"
    echo "引數總數有 $# 個!"
    echo "作為一個字串輸出所有引數 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73