#!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
我需要在其他函数中使用该变量,因此我无法使用案例 有人可以帮忙吗? 谢谢。
答案 0 :(得分:2)
| character是一个管道,在KSH中具有特殊含义。
用单引号包裹整个字符串,你会没事的。
var ='aa1 | AA1 | aA1'
虽然如果你以后比较像egrep这样的东西,你可以传递它'-i'它会变得不区分大小写,或者取用户的输入并通过'tr'传递它以强制它全部大写或小写所以你知道它会是什么。
很多方便皮肤猫的方法。
答案 1 :(得分:1)
在提示用户输入值之前,您可能希望将变量声明为小写:
$ 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!