Shell unix ksh为变量指定两个值

Shell unix ksh为变量指定两个值,shell,unix,variables,ksh,Shell,Unix,Variables,Ksh,#!ksh 我想做一些奇怪的事情,但unix不让我。。。 请看下面的例子: #assign multiple values to a variable so if the user type #upper case or lower case it will be ok var=aa1|AA1|aA1 #then I want to use the variable in a guess script 我需要在其他函数中使用该变量,因此我无法使用用例 有人能帮忙吗? 谢谢。字符是管道

#!ksh
我想做一些奇怪的事情,但unix不让我。。。 请看下面的例子:

#assign multiple values to a variable so if the user type 
#upper case or lower case it will be ok

var=aa1|AA1|aA1  

#then I want to use the variable in a guess script
我需要在其他函数中使用该变量,因此我无法使用用例 有人能帮忙吗?
谢谢。

字符是管道,在KSH中有特殊含义

将整个字符串用单引号括起来,就可以了

var='aa1 | aa1 | aa1'

尽管以后如果你要与像egrep这样的东西进行比较,你可以只传递它“-i”,它将变得不区分大小写,或者接受用户的输入并通过“tr”传递它,强制它全部使用大写或小写,这样你就知道它将是什么了


有很多简单的方法给猫剥皮。

字符是一个管道,在KSH中有特殊的含义

将整个字符串用单引号括起来,就可以了

var='aa1 | aa1 | aa1'

尽管以后如果你要与像egrep这样的东西进行比较,你可以只传递它“-i”,它将变得不区分大小写,或者接受用户的输入并通过“tr”传递它,强制它全部使用大写或小写,这样你就知道它将是什么了


有很多简单的方法可以给猫换肤。

在提示用户输入值之前,您可能希望将变量声明为小写:

$ typeset -l x
$ read x
HELLO WORLD
$ echo "$x"
hello world
另一个与您正在做的事情相匹配的场景:

$ answer="hello world"
$ typeset -l response
$ read response
HELLO WORLD
$ if [ "$answer" = "$response" ]; then echo "Correct!"; fi
Correct!

在提示用户输入值之前,您可能希望将变量声明为小写:

$ typeset -l x
$ read x
HELLO WORLD
$ echo "$x"
hello world
另一个与您正在做的事情相匹配的场景:

$ answer="hello world"
$ typeset -l response
$ read response
HELLO WORLD
$ if [ "$answer" = "$response" ]; then echo "Correct!"; fi
Correct!

它仍然不起作用,我正在做一个猜测,我想说如果[$variable2!=$var],但正如你写的那样,如果我写aa1 | aa1 | aa1,variable2将只等于var,但我只需要键入其中一个。:-。至少我的测试是这样做的…它仍然不起作用,我正在做一个猜测纸条,我想说如果[$variable2!=$var],但正如你写的那样,如果我写aa1 | aa1 | aa1,variable2将只等于var,但我只需要键入其中一个。:-。至少我的测试就是这样做的…谢谢你的回答,但我仍然不明白如何在我的脚本中使用它。我能说typeset-l answer=Hello World吗?我不是从输入中获取变量的值,它是为了设置以便我可以用来测试我的猜测脚本。我实际上使用变量来比较它是否等于用户输入,但变量没有改变。我以前从未用过这台打字机,所以我不懂。对不起,伙计,再次感谢你。为我的笨拙感到抱歉,我现在理解了排版,我设法在我的脚本上实现了它。谢谢你。谢谢你的回答,但我仍然不明白如何在我的脚本中使用这个。我能说typeset-l answer=Hello World吗?我不是从输入中获取变量的值,它是为了设置以便我可以用来测试我的猜测脚本。我实际上使用变量来比较它是否等于用户输入,但变量没有改变。我以前从未用过这台打字机,所以我不懂。对不起,伙计,再次感谢你。为我的笨拙感到抱歉,我现在理解了排版,我设法在我的脚本上实现了它。非常感谢。