![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux/Unix
silentlakeside
这个作者很懒,什么都没留下…
展开
-
BASH - 以变量的形式执行shell命令
有时候需要执行组装的命令或者外部(例如文件)定义的命令,需将这些命令定义为一个变量,然后执行。 直接执行 cmd="ls -l" $cmd 但这种方式不适用于多个命令或者一些复杂的命令,例如 cmd="ls -l > a.log 2>&1" $cmd cmd="cd; ls -l" $cmd 会报如下错误(a.log存在) ls: >:...原创 2014-01-15 14:38:44 · 1064 阅读 · 0 评论 -
BASH - 脚本基础
BASH脚本第一行,#!用来指定脚本解释器 #! /bin/bash 检查参数个数($#是参数个数,$0是命令自身,if语句注意方括号和条件表达式之间有空格) if [ $# -lt 2 ]; then echo "Usage: $0 <arg1> <arg2> " >&2 exit 1 fi 获取命令路径 SCRIPT_P...原创 2014-02-17 17:16:03 · 88 阅读 · 0 评论 -
BASH - 暂停
暂停一段时间 # 10秒 sleep 10s # 3分钟 sleep 3m原创 2014-02-17 17:15:23 · 352 阅读 · 0 评论 -
BASH - 数组
# 显式定义数组 declare -a arr # 赋值(下标从0开始) arr[0]="element0" arr[1]="element1" # 取值 ele0=${arr[0]} ele1=${arr[1]} # 遍历 for ele in ${arr[@]}; do echo $ele done ...原创 2014-02-07 09:55:34 · 67 阅读 · 0 评论 -
BASH - 字符串处理
使用正则表达式拆分字符串(BASH 3.0以上支持=~正则表达式) # 格式:name="value1","value2" # name、value1和value2是我们需要的字符串 # 在分隔符前后可以有空格(tab等无显示字符不允许) # 用~=做正则表达式匹配 # [ ]*表示可以有任意空格,()表示里面是要提取的部分,.*表示任意数目的任意字符串,=、,、“都没有定义数目,因此...原创 2014-02-06 17:36:03 · 65 阅读 · 0 评论 -
BASH - 函数
定义函数 括号里不需要定义输入参数。 $1是第一个参数,$n是第n个参数,$#是参数个数 function func() { arg1=$1 arg2=$2 return 0 } 调用函数 不需要在参数两边加括号 func $var1 $var2 ...原创 2014-02-06 17:27:28 · 76 阅读 · 0 评论 -
BASH - 控制语句
if if <条件表达式>; then fi if <条件表达式>; then else fi if <条件表达式>; then elif <条件表达式>; then else fi until unitl <条件表达式>; do done while while <条件表达式>...原创 2014-01-29 16:54:14 · 118 阅读 · 0 评论 -
BASH - 使用sendmail发送邮件
发送文本邮件 /usr/sbin/sendmail -t -F SenderDisplayerName <<EOF SUBJECT: sendmail test subject TO: to_mail_address CC: cc_mail_addres MIME-VERSION: 1.0 Content-type: text/plain mail content...原创 2014-01-29 12:48:02 · 839 阅读 · 0 评论 -
BASH - 逻辑表达式
以下均用if语句用作逻辑表达式的例子。注意左右两方括号和条件表达式之间都必须有空格。 字符串判断 # 空和非空可以用于判断变量是否已经定义 if [ -z "$var" ]; then # 空 fi if [ -n "$var" ]; then # 非空 fi if [ "$var" == "Y" ]; then # 相等 fi if [...原创 2014-01-27 14:38:52 · 128 阅读 · 0 评论 -
BASH - 控制台打印
echo命令用于打印字符串到控制台 命令用法: echo [选项]... [打印内容] 选项: -n,不打印最后的换行,不加该选项的话会自动附加上一个换行 -bash-3.2$ echo aa aa -bash-3.2$ echo -n aa aa-bash-3.2$ -e,支持解析转义字符,如\t,\n等,注意要加上双引号,即便里面是一个变量(echo -e...原创 2014-04-03 14:45:19 · 837 阅读 · 0 评论