1、脚本存放目录

workspace="$(cd "$(dirname "$0")"; pwd)"

2、输出  其中 command 代表指令

0 标准输入

1 标准输出

2 标准错误

dev/null 代表空设备文件

command >/dev/null  #屏蔽标准输出

command >/dev/nul 2>&1 #屏蔽标准输出、标准错误

command > filename #把标准输入重定向到filename文件中(覆盖)

command >> filename #把标准输入重定向到filename文件中(追加)

3、数组

arr=(a b c)
for val in ${arr[@]}
do
echo val
done

数组长度 ${#arr}

4、字符串操作

grep  -i ^abc$ filename

awk

echo a:b:c|awk -F : '{print $2}' 

输出b

-F 后面跟分隔符 默认为空格

 echo a:b:c|awk -F : '{print $NF}'

输出 c
NF为域个数

echo a:b:c|awk -F : '{print NF}'

输出 3

删除分隔符最后一项

path="a/b/c/d"
dir=${path%/*}
echo $dir

输出 a/b/c

5、获取某些行

head -1 #只显示第一行

head -2 #只显示前两行

tail -1 #只显示最后一行

6、文件内容替换

pattern="^Add:${filepath}$"
replace="Modify:${filepath}"
#由于路径中有/所以分隔符采用 #
sed -i "s#${pattern}#${replace}#g" ${configPath}
sed -i 's/old/new/g' filename

其中 s 后面可以定义分隔符如#

shell编程备忘的更多相关文章

  1. Shell 编程备忘

    变量使用 1. 定义变量: a=1 变量名=值 等号两端不能有空格 2. 变量值为数字或字符串,字符串 "this is adeom" 'this is a demo',双引号中可 ...

  2. 实用Shell命令备忘

    开场白:这里简单记录一些常用的bash命令,一则备忘,二来希望可以帮助别人解决一些问题. 1.检测文件是否存在 if [ -f ./foo.txt ] then echo the file exist ...

  3. ubuntu下串口编程备忘

    弄了一下串口,一个小问题多折腾了下,备忘.软件环境:zl@zhanglong:~$ cat /etc/lsb-release DISTRIB_ID=UbuntuDISTRIB_RELEASE=12.0 ...

  4. shell 问题备忘

    一 ls结果赋给变量 dirSrc=$(ls test/ -l | awk '/^d/{print $NF}') echo "dirSrc is $dirSrc" 二 使用cut查 ...

  5. Xeon Phi 编程备忘

    ▶ 闲鱼的 Xeon Phi 3120A 配办公室的新 Xeon 服务器,记录一下环境安装过程. ● 原本尝试搭 Ubuntu 服务器,参考[https://software.intel.com/en ...

  6. android 蓝牙通讯编程 备忘

    1.启动App后: 判断->蓝牙是否打开(所有功能必须在打牙打开的情况下才能用) 已打开: 启动代码中的蓝牙通讯Service 未打开: 发布 打开蓝牙意图(系统),根据Activity返回进场 ...

  7. 【转载】shell编程——if语句 if -z -n -f -eq -ne -lt

    shell编程中条件表达式的使用 if  条件then Commandelse Commandfi                              别忘了这个结尾 If语句忘了结尾fites ...

  8. Linux常用命令速查备忘

    Linux常用命令速查备忘   PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...

  9. Sublime Text 备忘

    Sublime Text已经被传成编程利器,那当然也是我们前端的利器了,刚开始用的时候,很多小问题,所以做个备忘,忘记的时候也可以翻出来看看,下次重装的时候可以用到. 1.设置自动换行 菜单栏 Vie ...

随机推荐

  1. jdk-动态代理

    1.HelloWorld package reflect.proxy; public interface HelloWorld { void print(); } 2.HelloWorldImpl p ...

  2. ThinkPHP 发送post请求

    function post($url, $param=array()){ if(!is_array($param)){ throw new Exception("参数必须为array&quo ...

  3. C语言 位操作

    c语言位操作中需要注意有: 位操作只针对整型和字符型数据 在右移操作中:对无符号数和有符号中的正数补 0:符号数中的负数,取决于所使用的系统:补 0 的称为“逻辑右移”,补 1 的称为“算术右移”. ...

  4. mysql一个表中多个字段对应另一个表的id如何查询?

    比如有如下2个表 a 和baaID b1ID b2ID b3ID1 1 3 52 2 4 6bbID bCon1 苹果2 香蕉3 国内4 国外5 出口6 进口其中a表中的b1ID,b2ID,b3ID都 ...

  5. Yii2——MYSQL操作

    先创建连接对象 $connection = new \yii\db\Connection([ 'dsn' => $dsn, 'username' => $username, 'passwo ...

  6. DIV+CSS两种盒子模型

    盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型.他们对盒子模型的解释各不相同, 先来看看我们熟悉的标准盒子模型: 从上图可以看到标准 W3C 盒子模型的范围包括 margin.bord ...

  7. Milking Grid

    poj2185:http://poj.org/problem?id=2185 题意:在一个字符矩阵中,找一个最小的字符子矩阵,使其能够覆盖整个矩阵. 题解:在KMP中i-next[i]是这能够覆盖这个 ...

  8. MySQL全连接(Full Join)实现,union和union all用法

    MySQL本身不支持你所说的full join(全连接),但可以通过union来实现 ,下面是一个简单测试,可以看看: mysql> CREATE TABLE a(id int,name cha ...

  9. 【HDOJ】5017 Ellipsoid

    简单地模拟退火. /* 5017 */ #include <cstdio> #include <cstring> #include <cstdlib> #inclu ...

  10. 【HDOJ】3285 Convex Hull of Lattice Points

    凸包模板题目. /* 3285 */ #include <iostream> #include <cstdio> #include <cstring> #inclu ...