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 ...
随机推荐
- linux下svn定时更新项目
方法一.用shell脚本定时更新项目 1.进入网站的根目录,假设项目位置放在/var/www/test cd /var/www/test 2.建立脚本文件update.sh,分两步进行.首先利 ...
- kali linux 渗透测试视频教程 第五课 社会工程学工具集
第五课 社会工程学工具集 文/玄魂 教程地址:http://edu.51cto.com/course/course_id-1887.html 目录 第五课社会工程学工具集 SET SET的社会工程 ...
- 使用gdb调试Python进程
使用gdb调试Python进程 有时我们会想调试一个正在运行的Python进程,或者一个Python进程的coredump.例如现在遇到一个mod_wsgi的进程僵死了,不接受请求,想看看究竟是运行到 ...
- Book Review: PowerShell 3.0 Advanced Administration Handbook
Recently I read a book, PowerShell 3.0 Advanced Administration Handbook, which I found really worthy ...
- [JS7] 显示从0到99的100个数字
<html> <head> <title>JS Unleashed</title> </head> <body> <SCR ...
- 2014年团队博客TOP10
2014年通过这个团队博客,葡萄城共输出了51篇原创技术博客(含翻译),总阅读超过9万人次,约有1万人次是通过RSS订阅方式阅读,总评论超过500人次. 这里我们通过阅读排序,选出2014年团队博客T ...
- atitit.spring3 mvc url配置最佳实践
atitit.spring3 mvc url配置最佳实践 1. Url-pattern bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. ...
- atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux
atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过运行一个EXE就启动视窗系 ...
- window.history.pushState与ajax实现无刷新更新页面url
ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history ...
- iptables防火墙原理详解
1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤.数 ...