shell编程备忘
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编程备忘的更多相关文章
- Shell 编程备忘
变量使用 1. 定义变量: a=1 变量名=值 等号两端不能有空格 2. 变量值为数字或字符串,字符串 "this is adeom" 'this is a demo',双引号中可 ...
- 实用Shell命令备忘
开场白:这里简单记录一些常用的bash命令,一则备忘,二来希望可以帮助别人解决一些问题. 1.检测文件是否存在 if [ -f ./foo.txt ] then echo the file exist ...
- ubuntu下串口编程备忘
弄了一下串口,一个小问题多折腾了下,备忘.软件环境:zl@zhanglong:~$ cat /etc/lsb-release DISTRIB_ID=UbuntuDISTRIB_RELEASE=12.0 ...
- shell 问题备忘
一 ls结果赋给变量 dirSrc=$(ls test/ -l | awk '/^d/{print $NF}') echo "dirSrc is $dirSrc" 二 使用cut查 ...
- Xeon Phi 编程备忘
▶ 闲鱼的 Xeon Phi 3120A 配办公室的新 Xeon 服务器,记录一下环境安装过程. ● 原本尝试搭 Ubuntu 服务器,参考[https://software.intel.com/en ...
- android 蓝牙通讯编程 备忘
1.启动App后: 判断->蓝牙是否打开(所有功能必须在打牙打开的情况下才能用) 已打开: 启动代码中的蓝牙通讯Service 未打开: 发布 打开蓝牙意图(系统),根据Activity返回进场 ...
- 【转载】shell编程——if语句 if -z -n -f -eq -ne -lt
shell编程中条件表达式的使用 if 条件then Commandelse Commandfi 别忘了这个结尾 If语句忘了结尾fites ...
- Linux常用命令速查备忘
Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...
- Sublime Text 备忘
Sublime Text已经被传成编程利器,那当然也是我们前端的利器了,刚开始用的时候,很多小问题,所以做个备忘,忘记的时候也可以翻出来看看,下次重装的时候可以用到. 1.设置自动换行 菜单栏 Vie ...
随机推荐
- fragment中获取activity中的控件
- Ecshop 数据库操作方法getRow、getAll、getOne区别
ECShop没有使用一些开源的数据库操作类,比如adodb或者PEAR,而是封装了自己的实现.这样做的好处是实现非常轻量,大大减小了分发包的文件大小.另外,当网站需要做memcached缓存时,也可以 ...
- 【行为型】Mediator模式
中介者模式目的是将对象间的交互封装在一个对象中,从而使用各对象间的相互依赖解耦,并可以独立更改对像间的交互.在实际项目开发过程中,因某些原因(如:业务逻辑处理不当或设计不当等)使得多个不同对象间需要相 ...
- 【Maven实战】archetype的使用和eclipse的配置
1.之前在进行项目的构建时都是使用手工进行文件夹的建立,maven也给我们提供了一个参数archetype,可以用来进行项目骨架的建立.使用maven archetype:generate进行创建: ...
- 【HDOJ】1316 How Many Fibs?
Java水了. import java.util.Scanner; import java.math.BigInteger; public class Main { public static voi ...
- awk工具
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
- Scala 编程(三)基本类型和操作
一些基本类型 值类型 范围 Byte 8位有符号补码整数(-27-27-1) Short 16位有符号补码整数(-215-215-1) Int 32位有符号补码整数(-231-231-1) Long ...
- NSTemporaryDirectory 临时文件
唯一标识 : NSString*identifier=[[NSProcessInfoprocessInfo]globallyUniqueString]; 创建临时文件路径: NSString *fil ...
- 让IE6,7,8支持HTML5新标签的方法
很多网站对网页进行重构的时候,提高标签的语义性,在网页中大量使用了section,article,header等HTML5新标签.考虑到目前win7自带的IE浏览器版本是IE8,而IE8不支持HTML ...
- 机器学习实战__安装python环境
环境:win7 64位系统 第一步:安装python 1.下载python2.7.3 64位 msi 版本(这里选择了很多2.7的其他更高版本导致安装setuptools失败,也不知道是什么原因,暂时 ...