将FIND命令的结果导出到linux shell脚本中的变量值?

时间:2013-12-14 02:59:52

标签: linux bash shell variables

我尝试完成一个shell脚本,但我不知道如何做最终的,也许最简单的步骤。

这是将值附加到find命令的变量。

例如,如果我执行:

find -type f -iname *test.tdf*

我将在示例中获得输出:

/root/Desktop/test.tdf

现在,我需要一种方法将该值附加到例如:

export PATH_TO_TEST_TDF_FILE=/root/Desktop/test.tdf

但现在问题是文件可能不在那里,所以我必须将它分配给find的结果。

如何?

2 个答案:

答案 0 :(得分:4)

如果您的find调用按照您显示的内容输出单个文件,command substitution应该可以解决问题

export PATH_TO_TEST_TDF_FILE="$(find . -type f -iname '*test.tdf*')"

或者,正如BroSlow指出的那样,

export PATH_TO_TEST_TDF_FILE="$(find . -type f -iname '*test.tdf*' -print -quit)"

find在第一个文件

之后退出

答案 1 :(得分:2)

将是PATH_TO_TEST_TDF_FILE =“$(find -type f -iname test.tdf )”但是可能效果不好,因为find大部分时间都会返回多个文件。

专业提示:除非另有证明,否则应假设查找结果不适合变量。