Linux作業系統程式設計 實驗一 Shell程式設計
阿新 • • 發佈:2020-12-12
實驗目的
按要求編寫3個指令碼。
指令碼1
編寫一段bash指令碼,滿足如下要求:
(1)指令碼接收2個整型引數,用來指定開始和結束
(2)計算並輸出從開始到結束整數間所有偶數的和
提示: 採用for或者while迴圈 引入區域性變數對迴圈進行計數 引入區域性變數計算中間結果。
指令碼2
編寫一段bash指令碼,滿足如下要求:
(1)指令碼接收1個字串引數,用於指定目標路徑
(2)將目標路徑中的所有目錄名稱輸出到/tmp/dir.txt檔案中
(3)將目標路徑中的所有檔名稱輸出到/tmp/files.txt檔案中
提示: for filename in `ls` ls –F 正則表示式匹配:if [[ $filename =~ (.*\/$) ]] 注意每行程式碼中的空格 採用echo輸出
指令碼3
編寫一段指令碼bash指令碼,使用awk計算score.txt中後三列的平均分,score.txt的內容如下
Marry 2143 78 84 77 Jack 2321 66 78 45 Tom 2122 48 77 71 Mike 2537 87 97 95 Bob 2415 40 57 62
實驗過程
exp01_1.sh
#!/bin/bash read -p "please input ibegin: " begin read -p "olease input iend: " end i=$begin sum=0 while [ $i -le $end ] do if [ $(($i%2)) -eq 0 ] then let sum+=i fi let i++ done echo "sum=$sum"
exp01_2.sh
#!/bin/bash
read -p "please input a string: " path
for filename in `ls -F $path`
do
if [[ $filename =~ (.*\/$) ]]
then
echo $filename >> /tmp/files.txt
else
echo $filename >> /tmp/dir.txt
fi
done
exp01_3.sh
#!/bin/bash awk '{print (($3+$4+$5)/3);}' /home/test/linux_xxxx_demo/score.txt
實驗結果
指令碼1執行結果
指令碼2執行結果
指令碼3執行結果