如何将$ 1变量设置为另一个变量?我想运行类似的东西:
$ ./script london
Some output with John in text
脚本应该像:
#!/bin/bash
london="John"
ukraina="Yury"
romania="Ion"
cat /path/to/file | grep $1
答案 0 :(得分:2)
我不建议盲目查找变量名称。用户可以传入任何变量,而不仅仅是您期望的变量之一。
相反,使用关联数组。
declare -A names=([london]=John [ukraina]=Yury [romania]=Ion)
grep "${names[$1]}" /path/to/file
或者,如果您的bash版本不支持关联数组,请使用case
查找。
case $1 in
london) name=John;;
ukraina) name=Yury;;
romania) name=Ion;;
esac
grep "$name" /path/to/file
答案 1 :(得分:1)
#!/bin/bash
london="Jhon"
ukraina="Yury"
romania="Ion"
cat /path/to/file | grep ${!1}
答案 2 :(得分:0)
如果你想将$ 1声明为变量,请使用:
VARIABLE="$1"
例如:
#!/bin/bash
VARIABLE="$1"
echo $VARIABLE