2009年12月19日 星期六

[Linux] Shell Script Homework2

2.設計一個名為manymaxmin的script,使其可以接收不固定的多個數字參數,顯示數字中最大的及最小的,如果都一樣大,則顯示都一樣大。
##########################################################
#!/bin/sh

for x in $@
do
  if [ -z "$max" ]
  then
    max=$x
    min=$x
  fi
  if [ $max -lt $x ]
  then
    max=$x
  elif [ $min -gt $x ]
  then
    min=$x
  else
    continue
  fi
done

if [ $min -eq $max ]
then
  echo "equal"
else
  echo "Max=$max"
  echo "Min=$min"
fi

exit 0
##########################################################

3.設計一個名為createmyfiles的script,以迴圈配合touch指令,產生十個檔案,檔名分別為myprog1.c,myprog2.c,...,myprog10.c。
##########################################################
#!/bin/sh

for ((i=1;i<=10;i++))
do
  touch myprog$i.c
done

exit 0
##########################################################

4.設計一個名為lastfiles的script,顯示目前目錄中最近被修改的n個檔案檔名。
##########################################################

#!/bin/sh
ls -t | head -n $1

exit 0
##########################################################
5.設計一個名為mvfiles的script,可以將所有副檔名為.c檔案,副檔名更名為.cpp,更名前後的副檔名均自命令列輸入。並將更名的結果顯示出來。
##########################################################

#!/bin/sh
for file in *$1
do
  mv $file `basename $file $1`$2
  echo renamed $file to `basename $file $1`$2
done

exit 0
#########################################################

沒有留言:

張貼留言