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