我有一个脚本可以让我比较这些变量:
FT_NBR1=\'?"\"'\
FT_NBR2=rcrdmddd
我的问题是如何将 FT_NBRs 变量传递给脚本以在终端中执行比较?
答案1
您可以使用 shell 导出变量,然后它们将在脚本中可用。
示例脚本:
#!/bin/bash --
echo "${test}"
导出变量并运行脚本:
$ export test=something
$ ./script
something
您尝试为变量赋值的方式将不起作用。
FT_NBR1=\'?"\"'\
FT_NBR2=rcrdmddd
FT_NBR2
很好,但FT_NBR1
无效。看看单引号与双引号以及特殊字符转义。
答案2
您可以将环境变量传递给脚本,并在之前设置变量。变量不会在当前环境中设置,这在某些情况下很有用。
脚本.sh:
#!/bin/bash
echo "var1: $var1"
然后用
$ var1=234 ./script.sh
var1: 123
$ echo "var1: $var1"
var1:
这在 bash 中有效。我不知道一般的 POSIX 兼容性。