Linux之交互式scripts

经常在删除文件时出现需要选择y的情形


此时需要从键盘上键入“y”或者“n”

1、交互式出入参数

#!/bin/bash
#program:
#       This program shows "Hello World!" in your screen
#History:
#205/08/3 rhx First Release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

read -p "Please input (Y/N): " yn

if [ "$yn"  == "Y" ] || [ "$yn"  == "y" ];then
    echo "Ok ,continue"
	exit 0
fi

if [ "$yn" == "N" ] || [ "$yn" == "n" ];then
    echo "Oh interrupt"
	exit 0
fi

echo "I do not know what your choice is "&& exit 0

#!/bin/bash 指明文件中使用的语法是bash语法,因此当程序执行时,就能够加载bash的相关环境配置文件(一般来说是non-login shell 的~/.bashrc ),并且执行bash来使我们下面的命令能够执行

2、利用case $variable in

#!/bin/bash
#program:
#       This program shows "Hello World!" in your screen
#History:
#205/08/3 rhx First Release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

case $1 in
    "hello")
        echo "Hello,how are you ?"
        ;;
     "")
        echo "You MUST input parameters,ex> {$0 someword}"
		;;
     *)
	 ;;
esac
	 

Linux之交互式scripts_第1张图片

关于这里色$1的含义:

/path/script     op1     op2     op3    opt4

$0                    $1        $2        $3     $4

因此$0 就对应着脚本的文件名,$1对应着输入的第一个参数,一次对应

因此一般使用 case$variable in 这个语法, $variable 基本有两种获取的方法

1、直接执行式,如上面的sh sh09_2.sh hello的方法来直接给予 $1这个变量赋值

2、交互式,通过read 这个命令来让用户输入变量的内容

你可能感兴趣的:(Linux)