标签:脚本 shell bench base file Linux 编写 aig
背景:Linux做项目写完代码之后,需要用一个文件夹下多个文件进行测试,而且需要对于同一个文件执行多个命令,这个时候如果一个一个命令输入比较繁琐,于是写了一个简单的命令脚本如下:
#! /bin/bash
#author hmtian@2020/6/4 11:35
for file in *.aig; do
base=`basename $file .aig`
echo "processing $base"
echo "**********\n $file \n**********"
./also -c"
read_aiger $file;
lut_mapping -k 4;
lut_resyn -g;
cutrw -p;
xagrw 0;
cutrw -p;
write_bench -g ${base}.bench" #create a file named xxx.bench, e.g. adder.bench
done
接下是一个详细的解释:
首先通过touch test.sh && vim test.sh
进入到脚本编写界面,也就是vim编辑器,之后,脚本的第一行必须是#! /bin/bash
,之后用户可以根据自己的需要定义一些命令进去,例如在这个shell脚本里面,我用到了for循环,而在shell脚本中for循环格式为:
#*****#
for
do
...#commands
done
#*****#
或者
#*****#
for ...; do
...#commands
done
脚本具体含义
对于该脚本所在的绝对路径下,所有格式为xxx.aig的文件$file
都将被读取,然后定义了一个变量base
,注意这里用的是反引号``,因为我在定义这个变量内部用到了函数basename
,作用是去掉$file
的后缀aig
,例如adder.aig--->adder
。echo
我的理解类似于c++中的return,之后你可以在这里定义你的命令,你需要执行哪些操作,类似于c++程序,由上而下依次执行,需要注意的是shell脚本中注释是#
。
结果:最后执行脚本时,只需要在绝对路径或者相对路径下(我这里是绝对路径)输入sh test.sh
即可,以下是这个脚本的演示结果:
关于Linux下编写脚本的基础知识以及概念可以参考: Linux下shell脚本编写
标签:脚本,shell,bench,base,file,Linux,编写,aig 来源: https://blog.csdn.net/weixin_44378800/article/details/106541920
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。