![](/img/trans.png)
[英]Create new file in Linux directory with names of files in that directory
[英]Join multiple file names of files in a directory to a string
我有一个包含许多文件的目录。
必须调用可执行文件<executable>
,其名称后跟目录中的所有文件 ( file_1
... file_n
) 和<outputfile>
:
例子:
executable file_1 ... file_n outputfile
如何从同一目录读取所有文件并生成一个可以执行的字符串?
该脚本将打印出您想要的字符串,并在文件名上加上适当的引号:
#!/bin/bash
printf -v files '%q ' *
cmd="executable $files outputfile"
echo "$cmd"
您实际上可以使用eval "$cmd"
执行命令。 在这里使用eval
是安全的,因为文件名被%q
正确引用,这是一个bash
特定的printf
转换规范。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.