實驗目的
按要求編寫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運行結果