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
 
 
 
原文地址:https://www.cnblogs.com/masonmei/p/11459709.html