如下:
#! /bin/bash
echo "hello 你好!"
echo //-------字串,陣列---------------------------------
#定義字串
str0='abc'
str1="$defg123"
str=""$str0"$"
#輸出字串
echo str=$str
#輸出字串長度
echo "字串str長度為: $"
#輸出子字串0到2的字元
echo 字串str中0到2的字元為: $
#定義陣列
array=(abc 123 dss 456)
#讀取陣列元素
echo "字串array中0的元素為: $"
echo "字串array中的所有元素: $"
#獲取陣列長度
echo "字串array的長度為 : $"
echo array_length=$
echo //---------------列印輸出--------------------------------------
#read 使用
#echo-不換行使用
echo -e "輸入檔名:\c"
read filename
#echo-輸出到檔案
echo 「寫到檔案中的內容、、。。,。,。」 > $filename
#printf使用
printf "%s %s\n" printf 練習0
printf "printf 練習1\n"
echo //-------------條件,迴圈----------------------------------------
#if -else if else使用
a=10
b=20
if [ $a == $b ]
then
echo "a等於b"
elif [ $a -gt $b ]
then
echo "a大於b"
elif [ $a -lt $b ]
then
echo "a小於b"
else
echo "故障"
fi#for迴圈使用
echo -e "for迴圈值為: \c"
for loop in 1 2 3
do echo -e "$loop \c"
done
printf "\n"
#while迴圈使用
cnt0=1
echo -e "cnt0的值為: \c"
while(( $cnt0<=3 ))
do echo -e "$cnt0 \c"
let "cnt0++"
done
printf "\n"
#until迴圈使用
cnt1=1
echo -e "cnt1的值為: \c"
until [ $cnt1 -eq 3 ]
do echo -e "$cnt1 \c"
cnt1=`expr $cnt1 + 1`
done
printf "\n"
echo //--------case,無限迴圈-------------------------------
#case選擇語句使用
sel0=2
case $sel0 in
1) echo sel0為1
;;2) echo sel0為2
;;3) echo sel0為3
;;*) echo sel0為其他值
;;esac
#while無限迴圈,break,continue使用
sel1=1
while :
do echo while迴圈開始
case $sel1 in
1) echo sel1為1
;;2) echo sel1為2
continue
echo continue執行失敗
;;3) echo sel1為3
;;4) echo sel1為其他值
break
;;esac
echo while迴圈1
break
echo while迴圈完成
done
shell指令碼例子
1.主要用awk實現兩個檔案的處理 number 0 if f level number.date y m d then awk f nr fnr nr fnr level number.date y m d d 1 day level number.date y m d sort today ye...
shell實驗指令碼例題
1 計算器 2 猜字謎小遊戲 3 計算器函式呼叫 bin bash read p 輸入第乙個數字 num1 read p 請選擇需要的運算 yun read p 請輸入第二個數字 num2if yun then echo num1和num2的結果為 expr num1 num2 elif yun t...
GNU LD系列 3 3 簡單的鏈結指令碼例程
許多鏈結指令碼是相當簡單的。可能最簡單的鏈結指令碼只包含乙個命令 sections 我們使用 sections 命令來描述輸出檔案的記憶體布局。sections 命令是乙個很強大的命令。在這裡我們將描述乙個該命令的簡單應用。假設現在我們的程式裡僅僅由文字 初始化資料 未初始化資料組成。它們會相應地存...