Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 如何在shell脚本中输入可执行文件而不是使用键盘?_File_Shell_Numbers_Character_Keyboard Input - Fatal编程技术网

File 如何在shell脚本中输入可执行文件而不是使用键盘?

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的可执行文件。您可以正常运行该可执行文件,如下所示:

$./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