bash + script
2015-10-11 17:41
756 查看
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
测试文件和目录:
![](http://images2015.cnblogs.com/blog/487468/201509/487468-20150927151314490-492743868.jpg)
逻辑操作&&, ||
条件操作:
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 {} \;
相关文章推荐
- 提升Powershell的启动速度
- rhel7 创建多个用户组和用户,设置候选组,默认shell
- Windows PowerShell 捕获错误
- Linux战地日记—shell应用技巧
- Shell角本:在每月最后二天执行指定命令
- 【转】git bash here 右键菜单失效后的修复方法
- LFI(本地文件包含)获取Webshell
- LFI(本地文件包含)获取Webshell
- PowerShell 异常处理(trap / try…catch / Throw / $Error / $ConfirmPreference)
- Ubuntu编写shell脚本
- git bash here 右键菜单失效后的修复方法
- 设置XShell快捷键 复制粘贴 并禁用智能选择
- Shell 显示带颜色字体
- bashrc - PS1(提示符配色)
- ETL应用:使用shell实现文件级校验的方法
- 验证linux shell在启动时会自动执行用户主目录下的.bashrc脚本
- 日志切割备份(测试)shell脚本
- PowerShell 脚本(Scripts)
- 转义字符\(在hive+shell以及java中注意事项):正则表达式的转义字符为双斜线,split函数解析也是正则
- 转义字符\(在hive+shell以及java中注意事项):正则表达式的转义字符为双斜线,split函数解析也是正则