2.設計一個名為manymaxmin的script,使其可以接收不固定的多個數字參數,顯示數字中最大的及最小的,如果都一樣大,則顯示都一樣大。
$ ./maxmin 12 18 9 32 24 13
max = 32
min = 9
$ ./maxmin 15 15 15 15 15 15
All Equal = 15
-----------------------------
#!/bin/sh
max=0
for x in $@
do
if [ $x -gt $max ]
then
max=$x
fi
done
min=9999999
for y in $@
do
if [ $y -lt $min ]
then
min=$y
fi
done
if [ $max -eq $min ]
then
echo All Equal = $max
else
echo Max = $max
echo Min = $min
fi
exit 0
--------------------------------
3.設計一個名為createmyfiles的script,以迴圈配合touch指令,產生十個檔案,檔名分別為myprog1.c,myprog2.c,...,myprog10.c。
#!/bin/sh
rm myprog*
for ((x=1;x<=10;x++))
do
touch myprog$x.c
done
exit 0
------------------------------
4.設計一個名為lastfiles的script,顯示目前目錄中最近被修改的n個檔案檔名。
$ ./lastfiles 5
a1.txt
a3.txt
...共5個
#!/bin/sh
ls -t | head -$1
---------------------------------
5.設計一個名為mvfiles的script,可以將所有副檔名為.c檔案,副檔名更名為.cpp,更名前後的副檔名均自命令列輸入。並將更名的結果顯示出來。
$ ./mvfiles .c .cpp
renamed myprog1.c to myprog1.cpp
....
#!/bin/sh
for file in *$1
do
mv $file `basename $file $1`$2
echo $file
done
exit 0
2009年12月21日 星期一
訂閱:
張貼留言 (Atom)
標籤
- 上課實作 (7)
- 高級實作 (3)
- 雜貨店 (6)
- Exchange Server (3)
- grub組態設定 (1)
- IIS架站 (1)
- Juniper_SSG (4)
- L2 switch (2)
- L3 switch (4)
- Server2003 (6)
- Server2008 (5)
- Shell Script Programming (3)
- TCP/IP (1)
- Wirless_Aruba (4)
沒有留言:
張貼留言