• 批量执行命令
批量执行脚本也是可行的!
如,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
 
 
 

ubuntu中写sh脚本的更多相关文章

  1. Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。

    在Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中 ...

  2. 在Linux中执行.sh脚本,异常

    在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中 ...

  3. 在Linux中执行.sh脚本,异常/bin/sh^M

    在Linux中执行.sh脚本,异常/bin/sh^M 在linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分 ...

  4. 使用shell程序备份crontab中的.sh脚本文件

    需求 线上环境有一些定时脚本(用crontab -l可查看当前用户的),有时我们可能会改这些定时任务的脚本内容.为避免改错无后悔药,需用shell实现一个程序,定时备份crontab中的.sh脚本文件 ...

  5. ubuntu中编写shell脚本开机自动启动

    编写脚本是为了不用手动去开启各种服务(也是为了偷懒哈哈) 1.进入终端输入 创建一个后缀为.sh的脚本文件 touch test.sh 编辑脚本 vim test.sh test.sh编写脚本内容   ...

  6. ubuntu中写一个shell脚本的过程

    gedit hello.sh ,然后输入 #!/bin/bash echo "Hello world!" chmod +x hello.sh ./hello.sh

  7. ASP.NET aspx页面中 写C#脚本; ASP.NET 指令(<%@%>);

    1 <h2>Welcome</h2> <ul> <% for (int i = 0; i <= Convert.ToInt32(ViewData[&qu ...

  8. ubuntu中运行python脚本

    1. 运行方式一 新建test.py文件: touch test.py 然后vim test.py打开并编辑: print 'Hello World' 打开终端,输入命令: python test.p ...

  9. python 中写hive 脚本

    1.直接执行.sql脚本 import numpy as np import pandas as pd import lightgbm as lgb from pandas import DataFr ...

随机推荐

  1. ImportError: attempted relative import with no known parent package

    或者检查所导包是否存在__init__.py文件,没有则添加上即可使当前文件夹变为包.

  2. windows server没有这台电脑图标

    rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

  3. JAVA笔记2-面向对象与内存解析

    1.java中的变量先声明.再赋值.再使用.(局部变量必须初始化,成员变量默认初始化) 2.基本类型之外的所有类型都是引用类型.基本类型占一块内存,引用类型占两块(所有new出来的东西装在堆内存,因为 ...

  4. (转)CSS定义字体间距 字体行与行间距

    源网址:http://www.cnblogs.com/jian1982/archive/2010/07/03/1770349.html CSS定义字体行间距 line-height:xxpx; CSS ...

  5. CF G. Indie Album AC自动机+fail树+线段树

    这个套路挺有意思的. 把 $trie$ 和 $fail$ 树都建出来,然后一起跑一跑就好了~ #include <queue> #include <cstdio> #inclu ...

  6. 微信支付(公众号)爬坑记,包含 total_fee 失败和 JSAPI 签名验证失败等等

    做商城类网站不免会需要做支付功能,目前在中国大陆通用的做法就是使用支付宝支付和微信支付,上一篇博文已经讲个支付宝支付. 这篇文章来讲一讲微信支付,微信支付的方式有很多种,本文主要讲 JSAPI 支付的 ...

  7. [jmeter] : http采样器 Parameters、Body Data使用区别

    一.使用Jmeter进行接口测试,Headers和请求参数Parameters .Body Data 的联系 1.使用Parameters时,Content-Type 不传默认值为:applicati ...

  8. week6 作业

    week6 作业 1.每12小时备份并压缩/etc/目录至/backup目录中,保存文件名称格式为"etc-年-月-日-时-分.tar.gz" crontab -e */1 * * ...

  9. php的switch函数

    PHP Switch 语句 PHP If...Else PHP While 循环 switch 语句用于基于不同条件执行不同动作. Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 S ...

  10. java set 顺序

    在java语言中,提供多种不同的结构来组织对象,Set(集合)是其中的一种,本身是一个接口,其迭代时的顺序取决于其具体实现.典型的实现包括:HashSet:哈希表是通过使用称为散列法的机制来存储信息的 ...