Linux 交互式Shell脚本

Linux 交互式Shell脚本,linux,shell,user-input,user-interaction,Linux,Shell,User Input,User Interaction,例如,如何创建一个简单的Shell脚本,请求用户进行简单输入,然后只运行与预定义选项关联的命令 IF "ON" Backup Server ELSEIF "OFF" Delete Backups ELSEIF "GREY" Send Backups ENDIF 您可以通过read获取用户的输入,并且可以使用案例。。。esac阻止执行不同的操作 Read将变量的名称作为其参数,并将其值存储到该变量中 read foo 将从用户处接收vaue并将其存储在$foo中 要提示用户输入,您需要使用ec

例如,如何创建一个简单的Shell脚本,请求用户进行简单输入,然后只运行与预定义选项关联的命令

IF "ON"
Backup Server
ELSEIF "OFF"
Delete Backups
ELSEIF "GREY"
Send Backups
ENDIF

您可以通过
read
获取用户的输入,并且可以使用
案例。。。esac
阻止执行不同的操作

Read将变量的名称作为其参数,并将其值存储到该变量中

read foo
将从用户处接收vaue并将其存储在
$foo

要提示用户输入,您需要使用echo

echo "What is your favourite color?"
read color
最后,大多数shell脚本都支持case操作符。哪种形式

case "value" in
    "CHOICE)
        # Do stuff
        ;;
esac
总而言之:

echo "Which choice would you like? \c"
read choice

case "$choice" in

    ON)
        # Do Stuff
        ;;
    OFF)
        # Do different stuff
        ;;
    *)
        echo "$choice is not a valid choice"
        ;;
esac

您可以通过
read
获取用户的输入,并且可以使用
案例。。。esac
阻止执行不同的操作

Read将变量的名称作为其参数,并将其值存储到该变量中

read foo
将从用户处接收vaue并将其存储在
$foo

要提示用户输入,您需要使用echo

echo "What is your favourite color?"
read color
最后,大多数shell脚本都支持case操作符。哪种形式

case "value" in
    "CHOICE)
        # Do stuff
        ;;
esac
总而言之:

echo "Which choice would you like? \c"
read choice

case "$choice" in

    ON)
        # Do Stuff
        ;;
    OFF)
        # Do different stuff
        ;;
    *)
        echo "$choice is not a valid choice"
        ;;
esac

大家好,这里有一个简单的例子如何做到这一点

while true; do
    read -p 'do you want to continue "y" or "n": ' yn

    case $yn in

        [Yy]* ) echo 'this program continue '; break;;

        [Nn]* ) exit;;

        * ) echo 'Please answer yes or no: ';;

    esac

done

while true; do
    read -p 'press "c" to quit this program: ' c

    case $c in

        [Cc]* ) exit;;

        * ) echo 'for quit this program press "c": ' ;;

    esac

done

对于源代码,请单击此处

您好,这里有一个简单的示例

while true; do
    read -p 'do you want to continue "y" or "n": ' yn

    case $yn in

        [Yy]* ) echo 'this program continue '; break;;

        [Nn]* ) exit;;

        * ) echo 'Please answer yes or no: ';;

    esac

done

while true; do
    read -p 'press "c" to quit this program: ' c

    case $c in

        [Cc]* ) exit;;

        * ) echo 'for quit this program press "c": ' ;;

    esac

done

对于源代码,请单击此处

是否需要该\c?我需要在某个地方定义选项吗?
'\c'
是用于从echo中抑制换行的较旧语法,如果您的系统支持,您可以使用
-n
标志。大小写的选项可以是文字、正则表达式或变量(将被插值)。是否有方法向用户显示这些选项?是否需要\c?我需要在某个地方定义选项吗?
'\c'
是用于从echo中抑制换行的较旧语法,如果您的系统支持,您可以使用
-n
标志。大小写的选项可以是文字、正则表达式或变量(将被插值)。有没有办法向用户显示这些选项?