ubuntu中寫sh腳本


  • 批量執行命令
批量執行腳本也是可行的!
如,main.sh內寫
 
sh findpcap.sh
sh extractor.sh

 

再執行sh main.sh 就先執行了findpcap.sh再執行extractor.sh,且sh腳本中是順序執行的,會等上一條執行完畢后再執行下一條。
  • 腳本入門
  • 腳本傳參
linux本身自帶傳參。
 
sh main.sh ~Downloads/pcap ~/Downloads

 

在腳本main.sh中傳入的第一個參數就是$1,傳入的第二個參數就是$2,傳入的參數都以字符串形式傳入
  • 字符串處理
注意sh中字符串的定義,str='www.baidu.com',一定沒有空格!加了空格就會顯示str沒有定義!linux中空格比較嚴格。
在sh中,sh test.sh str 只是將str這三個字母作為字符串傳入test,要想將str代表的網址字符串傳入,需要在str前加$,即
 
sh test.sh $str

 

字符串截取時,在/***/***/***/www_***_com時,使用${var#*ww_}就可以保存網站名,但分隔符選擇/時,就要用${var##*/},多一個#號,一個#號是非貪婪匹配,匹配到第一個就輸出結果,兩個#號就是貪婪匹配,會匹配到最后一個。比如
 
var='/home/mason/Downloads/pcap/data/skyeu/skypeu.pcap'
$: echo ${var#*/}
$: home/mason/Downloads/pcap/data/skyeu/skypeu.pcap
$: echo ${var##*/}
$: skyeu.pcap

 

  • 遍歷文件夾下
 
for var in $1/*
do
    echo ${var}
done

 

 
var即代表$1文件夾下所有文件的遍歷
var輸出的是文件的完整路徑(絕對路徑),而非文件名
注意傳入的$1最后不要帶斜杠。
  • 腳本運行應用程序
在腳本中要進入到應用程序所在文件夾,並運行程序
 
#!/bin/sh 
cd /Applications/finalshelldata/ 
./start

 

 
注意一定要./start運行程序
  • 合並字符串輸出
合並字符串要$加括號
 
var1='skyeu'
var2='flows'
echo ${var1}_${var2}.txt

 

 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM