• 批量执行命令
批量执行脚本也是可行的!
如,main.sh内写
 
  1. sh findpcap.sh
  2. sh extractor.sh
再执行sh main.sh 就先执行了findpcap.sh再执行extractor.sh,且sh脚本中是顺序执行的,会等上一条执行完毕后再执行下一条。
  • 脚本入门
  • 脚本传参
linux本身自带传参。
 
  1. 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前加$,即
 
  1. sh test.sh $str
字符串截取时,在/***/***/***/www_***_com时,使用${var#*ww_}就可以保存网站名,但分隔符选择/时,就要用${var##*/},多一个#号,一个#号是非贪婪匹配,匹配到第一个就输出结果,两个#号就是贪婪匹配,会匹配到最后一个。比如
 
  1. var='/home/mason/Downloads/pcap/data/skyeu/skypeu.pcap'
  2. $: echo ${var#*/}
  3. $: home/mason/Downloads/pcap/data/skyeu/skypeu.pcap
  4. $: echo ${var##*/}
  5. $: skyeu.pcap
  • 遍历文件夹下
 
  1. for var in $1/*
  2. do
  3. echo ${var}
  4. done
 
var即代表$1文件夹下所有文件的遍历
var输出的是文件的完整路径(绝对路径),而非文件名
注意传入的$1最后不要带斜杠。
  • 脚本运行应用程序
在脚本中要进入到应用程序所在文件夹,并运行程序
 
  1. #!/bin/sh
  2. cd /Applications/finalshelldata/
  3. ./start
 
注意一定要./start运行程序
  • 合并字符串输出
合并字符串要$加括号
 
  1. var1='skyeu'
  2. var2='flows'
  3. 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. Java 实现《编译原理》简单词法分析功能 - 程序解析

    Java 实现<编译原理>简单词法分析功能 - 程序解析 简易词法分析功能 要求及功能 (1)读取一个 txt 程序文件(最后的 # 作为结束标志,不可省去) { int a, b; a ...

  2. MongoDB的优势应用场景和配置

    一:MongoDB的简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案 MongoDB是一个介于关系数据库和非关系数据库之间的 ...

  3. 微信小程序 canIUse

    wx.canIUse(); 微信文档中定义在API中,可以理解为一个函数. 返回值: true 或者 false 示例: // 在JS文件的函数中进行使用 console.log(wx.canIUse ...

  4. python web开发中跨域问题的解决思路

    线上环境不存在跨域问题,nginx转发 解决思路: 1.什么是跨域 在浏览器窗口中,和某个服务端通过某个 “协议+域名+端口号” 建立了会话的前提下,去使用与这三个属性任意一个不同的源提交了请求,那么 ...

  5. PyPy初体验

    PyPy初体验 PyPy安装 1.下载 下载地址:http://pypy.org/download.html(温馨提示:需要梯子) 下载PyPy3.6 64bit Ubuntu版本 解压 下载下来的文 ...

  6. 求两个数的最大公约数和最小公倍数Java(cvte考题)

    //最大公约数 最小公倍数 通过测试 public class GongYue{ public static int gongyue(int m, int n) throws Exception{ i ...

  7. 一种sqlor的拆分

    原脚本declare @Phone nvarchar(50)declare @CompanyNO nvarchar(50)set @Phone='13914124223'set @CompanyNO= ...

  8. TTTTTTTTTTTTTTT poj 2932 Coneology 平面扫描+STL

    题目链接 题意:有n个圆,圆之间不存在相交关系,求有几个不被其他任何圆包含的圆,并输出圆的编号: #include <iostream> #include <cstdio> # ...

  9. c++复习——一个小疑问

    C++中,子类为什么不能访问基类的private数据?     emmm  来自一个vegetable dog的疑问:   首先基类可以通过调用自身public成员函数来访问private 而子类又可 ...

  10. malloc,calloc,realloc

    与堆操作相关的两个函数 malloc #include<stdio.h> #include<stdlib.h> #include<string.h> int mai ...