2014-1-3 shell练习题

回复 收藏
写一个脚本实现如下功能:  输入一个数字,然后运行对应的一个命令。显示命令如下:*cmd meau**  1---date 2--ls 3--who 4--pwd
当输入1时,会运行date, 输入2时运行ls, 依此类推。

参考脚本:
{{{密码回复可见}}}


2014-01-03 10:02 举报
已邀请:
0

luckytodd

赞同来自:


echo "cmd mean** 1---date 2--ls 3--who 4--pwd "
read -p  "Please input one num:" -t 3  x
echo
case $x in
1)
date
;;
2)
ls
;;
3)
who
;;
4)
pwd
;;
*)
while :
do
echo "please input num 1-4"
read -p  "Please input one num:" -t 3  x
echo
done
;;
esac
0

zmh0415

赞同来自:

echo " CMD MENU : 1--date 2--ls 3--who 4--pwd "
read -p " please input number : " a
case $a in
1)
   /bin/date
       ;;
2)
   /bin/ls
      ;;
3)
   /usr/bin/who
      ;;
4)
   /bin/pwd
     ;;
*)
  echo " the number you set is not aliable "
esac


0

elvis

赞同来自:

学习了
0

elvis

赞同来自:

#!/bin/bash
read -p '*cmd meau** 1---date 2--ls 3--who 4--pwd 5--quit'
echo
select n in date ls who pwd quit
do
   case $n in
date)
     date
     ;;
ls)
    ls
    ;;
who)
   who
   ;;
pwd)
   pwd
   ;;
quit)
    exit
   ;;
*)
  echo "please input a number(1-4)"
   ;;
esac
done
0

xpgong

赞同来自:

kankan
0

cj2017

赞同来自:

本帖最后由 cj2017 于 2016-5-31 21:58 编辑

#! /bin/bash
echo '*cmd menu*'
echo -e '1--date\n2--ls\n''3--who\n4--pwd'
cmd_menu() {
select i in 1 2 3 4
do
case $i in
    1) date
       break
       ;;

    2) ls
       break
      ;;
    3) who
       break
      ;;
    4)
      echo `pwd`
      break
      ;;
    *)
     echo 'only 1-4'
     exit 1
      ;;
esac
done
}
cmd_menu
           
0

黄国斌

赞同来自:

回复
0

sallyliang90

赞同来自:

#!/bin/bash
read -p "pls input a number(1-4):" n
case $n in
1)
  date
  ;;
2)
  ls
  ;;
3)
  who
  ;;
4)
  pwd
  ;;
*)
  echo "Pls enter a right number"
  ;;
esac
0

筱影

赞同来自:

本帖最后由 筱影 于 2016-6-2 17:25 编辑
  1. <p>#!/bin/bash</p><p>#显示命令如下*cmd meau**  1---date 2--ls 3--who 4--pwd
  2. read -p "Please enter a number: " n
  3. if [ $n -eq 1 ]
  4. then
  5.         echo `date`
  6. elif [ $n -eq 2 ]
  7. then
  8.         echo `ls`
  9. elif [ $n -eq 3 ]
  10. then
  11.         echo `who`
  12. elif [ $n -eq 4 ]
  13. then
  14.         echo `pwd`
  15. else
  16.         echo "It's not a number in [1-4]"
  17. fi</p>
0

筱影

赞同来自:

#!/bin/bash
echo "*cmd meau**  1---date 2--ls 3--who 4--pwd"
read -p "Please input a number: " n
case $n in
        1)
        date
        ;;
        2)
        ls
        ;;
        3)
        who
        ;;
        4)
        pwd
        ;;
        *)
        echo "Please input a number in 1-4"
esac
0

tytywu

赞同来自:

ls
0

jonnylin

赞同来自:

学习
0

小毅

赞同来自:

看看
0

hsm

赞同来自:

学习
0

tytywu

赞同来自:

#! /bin/bash
echo "*cmd meau** 1--date 2--ls 3--who 4--pwd"
read -p "please enter the number 1-4:" i

case $i in
1)
date
;;
2)
ls
;;
3)
who
;;
4)
pwd
;;
esac
0

十月鱼

赞同来自:

学习
0

dongteng

赞同来自:

学习
0

kevinjin

赞同来自:

#! /bin/bash
read -p "Please input a number: " n
case $n in
    1)
        date;;
    2)
        ls;;
    3)
        who;;
    4)
        pwd;;
    *)
        echo "You must input a number from 1 to 4!";;
esac
0

午夜DJ

赞同来自:

#! /bin/bash
read -p "please input a number:" x
case $x in
  1)
      date +%F
      echo "*cmd meau** 1---date"
     ;;
   2)
       ls
      echo "*cmd meau** 2--ls"
      ;;
   3)
      who
     echo "*cmd meau** 3--who"
     ;;
  4)
      pwd
      echo  "*cmd meau** 4--pwd"
    ;;
esac
不知道是不是这种理解
0

a_leon

赞同来自:

  1. echo **cmd menu**:
  2. echo 1---date
  3. echo 2--ls
  4. echo 3--who
  5. echo 4--pwd
  6. read -p "Input a number:" n
  7. case $n in
  8.         1)
  9.         echo `date`
  10.         ;;
  11.         2)
  12.         echo `ls`
  13.         ;;
  14.         3)
  15.         echo `who`
  16.         ;;
  17.         4)
  18.         echo `pwd`
  19.         ;;
  20. esac
0

linuxcp

赞同来自:

0

dessler

赞同来自:

  1. #!/bin/bash
  2. select a in 1 2 3 4
  3. do
  4. case "$a" in
  5.         1)echo `date`
  6.          break
  7.          ;;
  8.         2)echo `ls`
  9.         break
  10.          ;;
  11.         3)echo `who`
  12.         break
  13.         ;;
  14.         4)echo `pwd`
  15.         ;;
  16. esac
  17. done
0

J_C

赞同来自:

#!/bin/bash
#
#
while true
do
echo "

*cmd meau**
  1---date
  2--ls
  3--who
  4--pwd
  q--exit"
read -p "please enter a number:"  a
case $a in
   1)
   date
   ;;
   2)
   ls
   ;;
   3)
   who
   ;;
   4)
   pwd
   ;;
   Q|q)
   exit 0
   ;;
   *)
   echo "your enter is wrong !!"
esac
done
0

上海-KL

赞同来自:

看看
0

liuyunge

赞同来自:

#!/bin/bash

##written by 20160909
if [ "$1" == "" ];then
echo "Please choose the number you want to do ;"
read -p "1、date;2、ls;3、who;4、pwd:" n
echo "$n"
case $n in
      1)
        date
        ;;
      2)
        ls
        ;;
      3)
        who
        ;;
      4)
        pwd
        ;;
esac
fi
0

有人喜欢蓝

赞同来自:

#!/bin/bash

echo "*cmd meau**  1---date 2--ls 3--who 4--pwd"

while :; do

        read -p "Please input a number to choose the function above: " n

        if (( $n != 1 )) && (( $n != 2 )) && (( $n != 3 )) && (( $n != 4 )) ; then

        echo "Your input is wrong .Please input the correct selection"

        else

        case $n in

                1)

                date

                exit

                ;;

                2)

                ls

                exit

                ;;

                3)

                who

                exit

                ;;

                4)

                pwd

                exit

                ;;

        esac

        fi

done

0

kw是id

赞同来自:

#!/bin/bash
echo "*cmd meau**  1---date 2--ls 3--who 4--pwd"
read -p "please enter a number: " n
case $n in
   1)
     date
     ;;
   2)
     ls
     ;;
   3)
     who
     ;;
   4)
     pwd
     ;;
   *)
    echo "please input one of the 1 2 3 4"
esac

0

重庆-刘鹏

赞同来自:

学习学习

0

qwlp19910807

赞同来自:

case语句

0

西瓜糖

赞同来自:

#!/bin/bash
#Description: This script is to test case feature.
#Author: Jiazhi Yang
#Date: 16/11/2016
#Script Name: caseexample2.sh

read -p "please enter any digit from 1 to 4: " i
case $i in

        1) date
        ;;


        2) ls
        ;;


        3) who
        ;;


        4) pwd
        ;;

        *) echo "Error,you have to enter any digit between here: {1|2|3|4}"
        sleep 1
        echo "  1: execuate 'date' command."
        echo "  2: execuate 'ls' command."
        echo "  3: execuate 'who' command."
        echo "  4: execuate 'pwd' command."
        ;;

esac

0

nmzhaoliming

赞同来自:

学习

0

Ject1992he - linux学习

赞同来自:

学习

0

Youcan

赞同来自:

#!/bin/bash

read -p "input a number:" n

case $n in

1)

  date

  ;;

2)

  ls

  ;;

3)

  who

  ;;

4)

  pwd

  ;;

*)

  echo "cmd meau**"

  ;;

esac

0

sun330

赞同来自:

while :;doread -p "*cmd meau**  1---date 2--ls 3--who 4--pwd 5--exit " nif [ -z $n ]  then    echo "Please input a number."fin1=`echo $n|sed 's/[1-5]//g'`if [ ! -z $n1 ]  then      echo "Please input a number between 1 to 4."fi    case $n in        1)            echo `date`            ;;        2)            echo `ls`            ;;        3)            echo `who`            ;;        4)            echo `pwd`            ;;        5)            echo "bye~"            exit 1            ;;    esacdone

0

大雁

赞同来自:

 read -p "*cmd meau**  1--date  2--ls  3--who 4--pwd: " a

  5 case $a in

  6 1)

  7   date

  8 ;;

  9 2)

 10   ls

 11 ;;

 12 3)

 13   who

 14 ;;

 15 4)

 16   pwd

 17 ;;

 18 *)

 19   echo "Error"

 20 ;;

 21 esac

0

王斌

赞同来自:

#! /bin/bash

read -p "Please select comman 1---date 2--ls 3--who 4--pwd: " n

case $n in

    1)

        date

        ;;

    2)

        ls

        ;;

    3)

        who

        ;;

    4)

        pwd

        ;;

    *)

        echo "try agine"

esac

0

王斌

赞同来自:

用 select 也可以进行操作

#! /bin/bash
echo "please chose a number"
echo
select command in  date ls who pwd
do
    case $command in
    pwd)
        pwd
        ;;
    who)
        who
        ;;
    ls)
        ls
        ;;
    date)
        date
        ;;
    *)
        echo "retry please"
        ;;
    esac
done

0

肖永安

赞同来自:

学习

0

成成

赞同来自:

学习

0

失落的乐章

赞同来自:

学习

0

jiapingbian@sina.com

赞同来自:

#!/bin/bashecho *cmd meau*echo 1--dateecho 2--lsecho 3--whoecho 4--pwdread -p "请选择需要执行的命令" numif [ $num = "1" ];thenecho `date`elif [ $num = "2" ];thenecho `ls`elif [ $num = "3" ];thenecho `who`elseecho `pwd`fi

0

jadga1126

赞同来自:

对下答案

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: