我对bash shell编程很新,但我想学习。我有一个名为run.cpp的C ++文件,在运行时会提供大量文本文件结果,如output1.txt,output2.txt等,直到output2000.txt。首先,我想创建一个名为Output的文件;然后编译并运行程序。在我得到所有txt文件结果后,我想用*通配符在输出文件中移动它们。
我可以单独从shell中做到这一点。但是,我无法为此自动编写脚本。
任何帮助,或任何关于shell脚本的良好参考的指点在这一点上都会有很大的帮助。
提前谢谢。
我的shell命令是:
mkdir Output
g++ run.cpp -o run
cp *.txt /Output
答案 0 :(得分:1)
使用此内容编写脚本。我们将脚本命名为script.sh
#!/bin/sh
mkdir Output
g++ -o run run.cpp
./run
mv output*.txt Output
运行脚本。用你的shell运行脚本。如果是bash
,
bash script.sh
请注意,如果您的脚本位于另一个目录中,并且您从该目录运行,则必须指定.cpp
文件的确切位置,您希望可执行文件的位置,运行时可执行文件,程序中输出文件的路径以及要创建Output
目录的位置。另外我假设编译是用g++
完成的。