Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在while循环中传递参数_Bash - Fatal编程技术网

Bash 在while循环中传递参数

Bash 在while循环中传递参数,bash,Bash,我曾尝试将$1添加到变量中,但它不起作用。 这就是我目前所拥有的。 我是否必须向变量中添加任何其他内容才能使其工作 #!/bin/bash clear dir=" " MODEL="UNKNOWN : $1" while [ "$MODEL" = "UNKNOWN" ]; do KIND="UNKNOWN" echo -n "Enter kind [x|y]: "

我曾尝试将$1添加到变量中,但它不起作用。 这就是我目前所拥有的。 我是否必须向变量中添加任何其他内容才能使其工作

#!/bin/bash
clear
dir=" "
MODEL="UNKNOWN : $1"
while [ "$MODEL" = "UNKNOWN" ]; do
    KIND="UNKNOWN"
    echo -n "Enter kind [x|y]: "
    read K
    UPPER="$(echo ${K}|tr 'a-z' 'A-Z')"
   case "$UPPER" in
        x) MODEL="x" ;;
        y) MODEL="y" ;;
    esac
 done

if [ "$MODEL" == "x" ]; then
    echo "Preparing to installation x applications...."
    cd hpcld
    dir="$(pwd)"
    echo $dir
    echo "./install_x.sh"
else
    echo "Preparing to installation y applications...."
    cd hbcb
    dir="$(pwd)"
    echo $dir
    echo "./install_y.sh"
fi

在何处使用变量
KIND
?是否可以用附加的
echo
显示哪一行出现问题?我只是不知道从何处开始帮助您:
echo“${MODEL}”
在第一次赋值之后,中的
大小写“$UPPER”,您可以将其与小写值进行比较,或者我应该向您显示变量
${PWD}
?也许你想要
MODEL=${1:-未知}
,但这只在
$1
x
y
时才起作用。我认为这会起作用。我会处理它,并在
$1
中的内容后立即更新它?如果这应该是某种类型的“模型”,请尝试
model=“${1:-UNKNOWN}”
;考虑<代码>排版-UK;read-r-p“输入种类[x | y]:“K
(替换
echo/read/UPPER=
元组)。。。然后,…中的
案例“${K}”,但也需要将案例定义为UPPPER=>
X)。。。;;Y) ;我还建议你改掉使用大写变量的习惯(操作系统变量都是大写的,如果你不知道所有的操作系统变量,你可能会遇到以下两种情况之一)覆盖系统变量或b)操作系统覆盖您的变量)您在哪里使用变量
KIND
?是否可以用附加的
echo
显示哪一行出现问题?我只是不知道从何处开始帮助您:
echo“${MODEL}”
在第一次赋值之后,
中的
大小写“$UPPER”,您可以将其与小写值进行比较,或者我应该向您显示变量
${PWD}
?也许你想要
MODEL=${1:-未知}
,但这只在
$1
x
y
时才起作用。我认为这会起作用。我会处理它,并在
$1
中的内容后立即更新它?如果这应该是某种类型的“模型”,请尝试
model=“${1:-UNKNOWN}”
;考虑<代码>排版-UK;read-r-p“输入种类[x | y]:“K
(替换
echo/read/UPPER=
元组)。。。然后,…
中的
案例“${K}”,但也需要将案例定义为UPPPER=>
X)。。。;;Y) ;我还建议你改掉使用大写变量的习惯(操作系统变量都是大写的,如果你不知道所有的操作系统变量,你就有可能a)覆盖一个系统变量,或者b)操作系统覆盖你的变量)