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的更多相关文章

  1. 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 ...

  2. Linux: bash script

    content [toc] bash scripts equivalent bash command to rename a bash variable/command alias fire='fir ...

  3. Run bash script as daemon

    linux - Run bash script as daemon - Stack Overflow https://stackoverflow.com/questions/19233529/run- ...

  4. Linux bash script regex auto replace

    Linux bash script regex auto replace 自动替换 /assets/css/0.styles.96df394b.css => ./assets/css/0.sty ...

  5. Linux Bash Script conditions

    Linux Bash Script conditions shell 编程之条件判断 条件判断式语句.单分支 if 语句.双分支 if 语句.多分支 if 语句.case 语句 refs http:/ ...

  6. Linux Bash Script loop

    Linux Bash Script loop shell 编程之流程控制 for 循环.while 循环和 until 循环 for var in item1 item2 ... itemN do c ...

  7. 高级Bash Scripting系列笔记--01之“什么情况不适用Bash Script”

      1. 占用资源的任务,尤其那些影响速度的工作 比如排序,哈希,递归等等. 2. 大量使用数学运算 尤其是浮点运算,比如任意精度的计算或者复数计算等等,这类使用C++会好很多. 3. 跨平台的(适用 ...

  8. 【学习笔记】linux bash script

    1. sed sed 是一种流编辑器,它是文本处理中非常常用的工具,能够完美的配合正则表达式使用,功能非常强大. mkdir playground touch test.txt echo " ...

  9. 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 ...

随机推荐

  1. windows下使用批处理脚本实现多个版本的JDK切换

    一.JDK版本切换批处理脚本 我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所 ...

  2. NBIbatis 微信框架

    微信框架 必须先完成NBIbatis基础框架的[框架配置],本项目才能正常运行. 漂亮会议展示 这是一套漂亮的会议展示完整界面/ ForePages/ HomePage_1210.htm Wechat ...

  3. [ACM_数学] LA 3708 Graveyard [墓地雕塑 圈上新加点 找规律]

    Description   Programming contests became so popular in the year 2397 that the governor of New Earck ...

  4. django with mysql (part-3)

    step01: write second view-function vim views.py step02: configure your ( urls.py ) vim urls.py step0 ...

  5. 在ArcGIS空间数据库中增加点数据的方法

    1.新建一个mxd(ArcMAP)文件 2.从ArcCatalog中把要编辑的图层拖到ArcMAP中 3.从ArcCatalog中拖一个参照图层到ArcMAP中,比如临沂市的县级区划图 4.打开Edi ...

  6. 01、手把手Android攻城入门

    1.Android开发环境搭建: Eclipse Java EE IDE + ADT-23.0.6 + android-sdk-21-with-sdk-manager-r23.0.2 (安卓5.0)+ ...

  7. [推荐]移动H5前端性能优化指南

    [推荐]移动H5前端性能优化指南 http://isux.tencent.com/h5-performance.html

  8. HTML5手机APP开发入门(1)

    HTML5手机APP开发入门(1) 开发框架 Ionicframework V2 + Angular 2 具体内容可以参考一下网站 http://ionicframework.net/ http:// ...

  9. #pragma data_seg 共享数据区(转)

    原文地址:http://www.cnblogs.com/CBDoctor/archive/2013/01/26/2878201.html 1)#pragma data_seg()一般用于DLL中.也就 ...

  10. Express ejs 3.* layout.ejs

    新版本改成了 <%- include file.ejs %> 具体使用方法如下:1. views文件夹 下新建header.ejs,插入代码 <html><head> ...