File 如何在shell脚本中输入可执行文件而不是使用键盘?
我有一个名为GFA-LIN的可执行文件。您可以正常运行该可执行文件,如下所示:File 如何在shell脚本中输入可执行文件而不是使用键盘?,file,shell,numbers,character,keyboard-input,File,Shell,Numbers,Character,Keyboard Input,我有一个名为GFA-LIN的可执行文件。您可以正常运行该可执行文件,如下所示: $./GFA-LIN ********************************************************************** *** *** *** G A P F R A C T I O N A N A L Y S I S
$./GFA-LIN
**********************************************************************
*** ***
*** G A P F R A C T I O N A N A L Y S I S ***
*** ***
**********************************************************************
--- GNU Copyright (C) 1982-2014 by Jean-Michel Walter. Contributors: Alemu Gonsamo. ---
Enter the name of the *.bmp file:
现在,您必须输入.bmp文件的名称。假设我有两个文件DHP01.bmp和DHP02.bmp
1) 我想通过shell中的循环自动输入,比如:
for i in *.bmp; do
echo $i | GFA-LIN
done
但是,当可执行文件继续运行时,会出现问题:
Loading BMP: DSCN0001(test).bmp
Geometric distortion of the fish-eye lens:
1: Equidistant (or polar)
2: Orthographic
?
2) 我的可执行文件的所有其他输入不是文件,而是单个数字,如:
鱼眼透镜的几何畸变:
1:等距(或极距)
2:正字法
? {1}
3) 等等。。。就像文件、数字和字符的混合
在这种情况下,我如何处理?我试过类似的方法
#!/bin/bash
for i in *.bmp; do
echo "$i
1
806 133
700 1507
1941 714
c
y
0.0
90.0
9.0" | GFA-LIN
done
它不起作用=(
对不起,如果这个问题以前被回答过,或者如果它是超级愚蠢的。我是壳牌的新手
非常感谢!伙计们,刚刚想出了怎么做。#!/bin/bash'`for i in*.bmp;do echo“$i 1 806 133 700 1507 1941 714 c y 0.0 90.0 9”| GFALIN echo“$i 1 806 133 700 1507 1941 714 c n 9 10 0.0”| GFALIN mv gapfract.txt gapfract_$i.txt mv gapsize.txt gapsize_$i.txt完成`伙计们,刚刚想出了怎么做。|!/bin/bash'`对于i in*.bmp;do echo“$i 1806 133 700 1507 1941 714 c y 0.0 90.09”| GFALIN echo“$i 1806 133 700 1507 1941 714 c 10.0”| GFALIN mv gapfract.txt gapfract_$i.txt mv gapsize.txt gapsize_$i.txt完成`
#!/bin/bash
for i in *.bmp; do
echo "$i
1
806 133
700 1507
1941 714
c
y
0.0
90.0
9.0" | GFA-LIN
done