Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46384
  • 博文数量: 9
  • 博客积分: 274
  • 博客等级: 二等列兵
  • 技术积分: 115
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-13 10:39
文章分类
文章存档

2011年(9)

最近访客

分类: LINUX

2011-01-13 11:01:29

这是今天我照着网上写的几个例子....有几个符号的意思恶心了我半天,大家有不懂得留言吧
  
  
  
   1.写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然后打印出该数值,然后再次要求用户输入数值。直到用户输入"end"停止。
  
  1. #!/bin/sh
  2.   
  3.   
  4.   
  5.   unset var
  6.   
  7.   
  8.   
  9.   while [ "$var" != "end" ]
  10.   
  11.   do
  12.   
  13.    echo -n "please input a number: "
  14.   
  15.    read var
  16.   
  17.    if [ "$var" = "end" ]
  18.   
  19.    then
  20.   
  21.    break
  22.   
  23.    fi
  24.   
  25.    echo "var is $var"
  26.   
  27.   done
  28.   
  
  2.写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件。
 
  1.  #!/bin/sh
  2.   
  3.   
  4.   
  5.   case ${1##*.tar.} in
  6.   
  7.    bz2)
  8.   
  9.    tar jxvf $1
  10.   
  11.    ;;
  12.   
  13.    gz)
  14.   
  15.    tar zxvf $1
  16.   
  17.    ;;
  18.   
  19.    *)
  20.   
  21.    echo "wrong file type"
  22.   
  23.   esac
  24.   
  
  
  3.写一个脚本以方便用户查询rpm的相关信息。这个脚本首先提示用户选择查询依据,比如文件名,包名,全部等。然后提示用户选择查询信息,比如包名,包里所包含的所有文件,包的信息等。然后询问是否继续查询,是则循环刚才的过程,否则退出。
  
  1. #!/bin/sh
  2.   
  3.   RPM=/bin/rpm
  4.   
  5.   option="-q"
  6.   
  7.   
  8.   
  9.   while true
  10.   
  11.   do
  12.   
  13.    echo "what to query?"
  14.   
  15.    select var in "All" "file" "package name"
  16.   
  17.    do
  18.   
  19.    case $var in
  20.   
  21.    All)
  22.   
  23.    option=$option"a"
  24.   
  25.    break
  26.   
  27.    ;;
  28.   
  29.    file)
  30.   
  31.    echo -n "please input file name: "
  32.   
  33.    option=$option"f"
  34.   
  35.    read argument
  36.   
  37.    break
  38.   
  39.    ;;
  40.   
  41.    package name)
  42.   
  43.    echo -n "please input package name: "
  44.   
  45.    read argument
  46.   
  47.    break
  48.   
  49.    ;;
  50.   
  51.    *)
  52.   
  53.    echo "please choose between 1-3"
  54.   
  55.    ;;
  56.   
  57.    esac
  58.   
  59.    done
  60.   
  61.   
  62.   
  63.    echo "what do you want to know?"
  64.   
  65.    select var in "location" "info" "package name"
  66.   
  67.    do
  68.   
  69.    case $var in
  70.   
  71.    location)
  72.   
  73.    option=$option"l"
  74.   
  75.    break
  76.   
  77.    ;;
  78.   
  79.    info)
  80.   
  81.    option=$option"i"
  82.   
  83.    break
  84.   
  85.    ;;
  86.   
  87.    package name)
  88.   
  89.    break
  90.   
  91.    ;;
  92.   
  93.    *)
  94.   
  95.    echo "please choose between 1-3"
  96.   
  97.    ;;
  98.   
  99.    esac
  100.   
  101.    done
  102.   
  103.   
  104.   
  105.    ${RPM} $option $argument
  106.   
  107.   
  108.   
  109.    echo "continue? [yes/no]"
  110.   
  111.    read answer
  112.   
  113.   
  114.   
  115.    if [ answer = "no" ]
  116.   
  117.    then
  118.   
  119.    break
  120.   
  121.    fi
  122.   
  123.   done
阅读(1367) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~