Linux編寫shell腳本執行多個命令

背景: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--->adderecho我的理解類似於c++中的std::cout,之後你可以在這裏定義你的命令,你需要執行哪些操作,類似於c++程序,由上而下依次執行,需要注意的是shell腳本中註釋是#

結果:最後執行腳本時,只需要在絕對路徑或者相對路徑下(我這裏是絕對路徑)輸入sh test.sh即可,以下是這個腳本的演示結果:
在這裏插入圖片描述
關於Linux下編寫腳本的基礎知識以及概念可以參考Linux下shell腳本編寫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章