bash + script
shell
"" 保留$,`,\, 换行含义,‘’保留字面值
$(), ``用于命令替换
算术扩展如 $[1+1]
for循环:
for Host in host1, host2, host3; do echo $Host; done
for Host in host{1,2,3}; do echo $Host; done
for Host in host{1..3}; do echo $Host; done
for Package in $(rpm -a | grep kernel); do echo "$Package was installed on $(date -d @$(rpm -q --qf "%{INSTALLTIME}\n" $Package))"; done
for EVEN in $(seq 2,2,8); do echo "$EVEN"; done
2
4
6
8
调试模式
#!/bin/bash -x 或者 bash -x scriptname 或在脚本中插入命令set -x , set +x 分别开启和关闭调试
bash -v script 详细模式,每个命令执行器打印命令到标准输出 (set -v set +v)
特殊变量:
引用位置参数:$*,所有参数当成一个单词;$@,每个参数当成一个单词(返回数组)
$#参数数量
退出状态 $? 0 表示退出成功 (exit num可以用在脚本中作为退出代码)
if [$# -lt 3];then
echo "usage:...";
exit -1;
fi
整数比较 [ "$a" -eq "$b"] [1 -eq 1]
-eq =
-ne !=
-gt >
-ge >=
-lt <
-le <=
字符串比较 ==, =, !=
字符串长度为零 -z
字符串不为空 -n
测试文件和目录:

逻辑操作&&, ||
条件操作:
if a; then b;else c;fi
if a; then b;elif c;then d; else e; fi
写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除。
find / -name "*.log" -ctime +3 -exec rm -f {} \;
安全删除修改日期5天前
find . -name "*.log" -mtime +5 -ok rm {} \;
bash + script的更多相关文章
- Bash+R: howto pass parameters from bash script to R(转)
From original post @ http://analyticsblog.mecglobal.it/analytics-tools/bashr/ In the world of data a ...
- Linux: bash script
content [toc] bash scripts equivalent bash command to rename a bash variable/command alias fire='fir ...
- Run bash script as daemon
linux - Run bash script as daemon - Stack Overflow https://stackoverflow.com/questions/19233529/run- ...
- Linux bash script regex auto replace
Linux bash script regex auto replace 自动替换 /assets/css/0.styles.96df394b.css => ./assets/css/0.sty ...
- Linux Bash Script conditions
Linux Bash Script conditions shell 编程之条件判断 条件判断式语句.单分支 if 语句.双分支 if 语句.多分支 if 语句.case 语句 refs http:/ ...
- Linux Bash Script loop
Linux Bash Script loop shell 编程之流程控制 for 循环.while 循环和 until 循环 for var in item1 item2 ... itemN do c ...
- 高级Bash Scripting系列笔记--01之“什么情况不适用Bash Script”
1. 占用资源的任务,尤其那些影响速度的工作 比如排序,哈希,递归等等. 2. 大量使用数学运算 尤其是浮点运算,比如任意精度的计算或者复数计算等等,这类使用C++会好很多. 3. 跨平台的(适用 ...
- 【学习笔记】linux bash script
1. sed sed 是一种流编辑器,它是文本处理中非常常用的工具,能够完美的配合正则表达式使用,功能非常强大. mkdir playground touch test.txt echo " ...
- Update SSM agent to each EC2 via Bat and bash script
1. copy the instance id from aws console to file 2. remove the , from file sed -i 's/,//g' file 3. g ...
随机推荐
- RoboGuice :Could not load finalizer in its own class loader 警告
RoboGuice提示的错误信息 01-17 11:48:14.929: W/nalizableReferenceQueue(1871): Could not load Finalizer in it ...
- [Java Web] 5、JSP (1) 注释 & Scriptlet
>_<" 在JSP中支持两种注释的语法操作,一种是显式注释,这种注释客户端是允许看见的,另外一种是隐式注释,此种注释客户端是无法看见的. 显式注释语法: <!-- 注释内容 ...
- 找出字符串中第一个不重复的字符(JavaScript实现)
如题~ 此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达. //找出字符串中第一个不重复的字符 // firstUniqueChar("vdctdvc"); --& ...
- 使用ExceptionHandlingScope进行高效的SharePoint CSOM编程
异常处理 在我们使用SharePoint API的时候,获取某些对象的时候,可能会出异常,那么CSOM如何处理这种情况呢. 我们在获取某个List的时候,代码如下: using (ClientCont ...
- js里各浏览器解析XML,支持IE、火狐、Chrome等
js在chrome中加载XML,js加载XML支持ff,IE6+,Opera等浏览器 见代码: <!doctype html> <html lang="en"&g ...
- js关于事件
摘要:事件在Web前端领域有很重要的地位,很多重要的知识点都与事件有关.本文旨在对常用的事件相关知识做一个汇总和记录. 在前端中,有一个很重要的概念就是事件.我对于事件的理解就是使用者对浏览器进行的一 ...
- 备份MYSQL出现:mysqldump: Got error: 1049: Unknown database 'test 'when selecting the data
解决办法 后面不要加分号: 如: mysqldump -uroot -p test>test.sql 不加分号 直接回车
- 一个比较常用的关于php下的mysql数据操作类
<?php /************************************************************* MySql类封装: 首先连接数据库,需要有参数 参数如何 ...
- C语言实现单链表-03版
在C语言实现单链表-02版中我们只是简单的更新一下链表的组织方式: 它没有更多的更新功能,因此我们这个版本将要完成如下功能: Problem 1,搜索相关节点: 2,前插节点: 3,后追加节点: 4, ...
- iOS---SQLite数据库框架之FMDB -Swift
SQLite数据库框架之FMDB 什么是FMDB? FMDB是iOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言API.对比苹果自带的Core Data框架,更加轻量级 ...