我尝试完成一个shell脚本,但我不知道如何做最终的,也许最简单的步骤。
这是将值附加到find命令的变量。
例如,如果我执行:
find -type f -iname *test.tdf*
我将在示例中获得输出:
/root/Desktop/test.tdf
现在,我需要一种方法将该值附加到例如:
export PATH_TO_TEST_TDF_FILE=/root/Desktop/test.tdf
但现在问题是文件可能不在那里,所以我必须将它分配给find的结果。
如何?
答案 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大部分时间都会返回多个文件。
专业提示:除非另有证明,否则应假设查找结果不适合变量。