Linux编写shell脚本执行多个命令

心已赠人 2023-02-15 03:33 49阅读 0赞

背景:Linux做项目写完代码之后,需要用一个文件夹下多个文件进行测试,而且需要对于同一个文件执行多个命令,这个时候如果一个一个命令输入比较繁琐,于是写了一个简单的命令脚本如下:

  1. #! /bin/bash
  2. #author hmtian@2020/6/4 11:35
  3. for file in *.aig; do
  4. base=`basename $file .aig`
  5. echo "processing $base"
  6. echo "**********\n $file \n**********"
  7. ./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
  8. done

接下是一个详细的解释

首先通过touch test.sh && vim test.sh进入到脚本编写界面,也就是vim编辑器,之后,脚本的第一行必须是#! /bin/bash,之后用户可以根据自己的需要定义一些命令进去,例如在这个shell脚本里面,我用到了for循环,而在shell脚本中for循环格式为:

  1. #*****#
  2. for
  3. do
  4. ...#commands
  5. done
  6. #*****#
  7. 或者
  8. #*****#
  9. for ...; do
  10. ...#commands
  11. done

脚本具体含义
对于该脚本所在的绝对路径下,所有格式为xxx.aig的文件$file都将被读取,然后定义了一个变量base,注意这里用的是反引号``,因为我在定义这个变量内部用到了函数basename,作用是去掉$file的后缀aig,例如adder.aig--->adderecho我的理解类似于c++中的std::cout,之后你可以在这里定义你的命令,你需要执行哪些操作,类似于c++程序,由上而下依次执行,需要注意的是shell脚本中注释是#

结果:最后执行脚本时,只需要在绝对路径或者相对路径下(我这里是绝对路径)输入sh test.sh即可,以下是这个脚本的演示结果:
在这里插入图片描述
关于Linux下编写脚本的基础知识以及概念可以参考: Linux下shell脚本编写

发表评论

表情:
评论列表 (有 0 条评论,49人围观)

还没有评论,来说两句吧...

相关阅读