Shell 如何使用不同的参数重复可执行文件?
我有一个可执行文件来分析图像。我在shell中写入Shell 如何使用不同的参数重复可执行文件?,shell,executable,Shell,Executable,我有一个可执行文件来分析图像。我在shell中写入/analysis img_001.jpg,它返回1个数字。 我在寻找一个解决方案来分析我的999图像(img_001.jpg到img_999.jpg),使用一个脚本(我真的不希望手动进行),我需要一个提示 是否可以使用类似于/script.sh的程序返回999号 诚恳地说如果您使用的是bash,您只需使用大括号扩展即可: for i in {1..999}; do printf "img_%03d.jpg\n" $i done 这将打
/analysis img_001.jpg
,它返回1个数字。
我在寻找一个解决方案来分析我的999图像(img_001.jpg到img_999.jpg),使用一个脚本(我真的不希望手动进行),我需要一个提示
是否可以使用类似于/script.sh
的程序返回999号
诚恳地说如果您使用的是
bash
,您只需使用大括号扩展即可:
for i in {1..999}; do
printf "img_%03d.jpg\n" $i
done
这将打印出:
img_001.jpg
img_002.jpg
...
img_998.jpg
img_999.jpg
要使用这些参数运行脚本,可以使用:
for i in {1..999}; do
./analyse $(printf "img_%03d.jpg" $i)
done
您还可以使用seq
替换大括号扩展:
for i in $(seq 1 999); do
在bash版本4或更高版本中,{000..999}直接扩展到零填充数字,因此不需要任何printf