【发布时间】:2022-01-15 20:32:21
【问题描述】:
我想在变量中捕获下面命令的输出。
命令:
find . -iname 'FIL*'.TXT
输出是:
./FILE1.TXT
我想将 './FILE1.TXT' 捕获到 'A' 变量中。但是当我尝试时
A=`find . -iname 'FIL*'.TXT`
那么这个命令正在显示文件的数据。但我想要变量 A 中的 ./FILE1.TXT 值。
【问题讨论】:
-
请改进您的问题的表述。文件名与文件内容不同(有些文件没有名称或有多个名称,因为文件是inodes)
-
不明显为什么反引号中的命令将文件中的数据复制到变量而不是文件名。通常最好对Command Substitution 使用
$(...)表示法,但不应该影响事情。您可以将-print用作find命令的一部分,但这并不重要。可能是您对报告文件名的代码处理不当;它应该只是echo "$A"或printf "%s\n" $A或类似的东西。小心文件名中的空格(或更糟的是换行符)。