Bash替换变量中的变量

时间:2018-05-29 09:33:21

标签: bash

我在敲我的脑袋找不到答案。

我想在另一个变量INPUT_DIR中使用目录MINFILESIZE(如果文件大于50 MB则检查目录并回显该文件)

我到目前为止

INPUT_DIR="${1%/*}"

MINFILESIZE="find ${INPUT_DIR} -type f -size +50M"

Echo"Minfile: $MINFILESIZE"

我无法让它发挥作用。

1 个答案:

答案 0 :(得分:1)

您正在将MINFILESIZE设置为字符串。输出将输出该变量作为字符串,而不是给出命令的输出。你可以将bash作为命令之一运行两种方式之一。使用反引号` .. `或使用$( .. )作为command substitution。 Bash将解释内部命令并将您期望的输出作为变量的值:

MINFILESIZE=$( find ${INPUT_DIR} -type f -size +50M )

建议使用$( .. )样式,因为这是POSIX标准。