使用 Shell 脚本比较两个变量

使用 Shell 脚本比较两个变量

我有一个脚本可以让我比较这些变量:

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 兼容性。

相关内容