shell脚本常用技巧
2015-05-26 13:23
204 查看
http://www.techug.com/ten-tips-for-wonderful-bash-productivity
不管怎么样,自己要去学习。也还可以看看一些命令。
算术比较:
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
参数处理-Shell传入参数的处理:
1. $# 传递到脚本的参数个数
2. $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
3. $$ 脚本运行的当前进程ID号
4. $! 后台运行的最后一个进程的进程ID号
5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
6. $- 显示shell使用的当前选项,与set命令功能相同
7. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
变量 含义 :
$0 脚本名字
$1 位置参数 #1
$2 - $9 位置参数 #2 - #9
${10} 位置参数 #10
$# 位置参数的个数
"$*" 所有的位置参数(作为单个字符串) *
"$@" 所有的位置参数(每个都作为独立的字符串)
${#*} 传递到脚本中的命令行参数的个数
${#@} 传递到脚本中的命令行参数的个数
$? 返回值
$$ 脚本的进程ID(PID)
$- 传递到脚本中的标志(使用set)
$_ 之前命令的最后一个参数
$! 运行在后台的最后一个作业的进程ID(PID)
系统信息:
uname
cat /proc/version 返回系统信息
uname -m 返回 “i686″等信息
uname -r 内核版本
uname -n 主机名
uname -s 系统名称,比如”linux”
uname -p 处理器类型和名称(我这里显示 “unknown”)
uname -a 所有 uname 信息
rm -rf表示删除文件,而且可以删除非空目录。-rf参数表示递归强制删除。
文件比较运算符:
-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]
-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]
-L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]
-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]
-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string长度为零,则为真 [ -z "$myvar" ]
-n string 如果 string长度非零,则为真 [ -n "$myvar" ]
string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]
推荐:http://www.techug.com/ten-tips-for-wonderful-bash-productivity
不管怎么样,自己要去学习。也还可以看看一些命令。
算术比较:
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
参数处理-Shell传入参数的处理:
1. $# 传递到脚本的参数个数
2. $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
3. $$ 脚本运行的当前进程ID号
4. $! 后台运行的最后一个进程的进程ID号
5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
6. $- 显示shell使用的当前选项,与set命令功能相同
7. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
变量 含义 :
$0 脚本名字
$1 位置参数 #1
$2 - $9 位置参数 #2 - #9
${10} 位置参数 #10
$# 位置参数的个数
"$*" 所有的位置参数(作为单个字符串) *
"$@" 所有的位置参数(每个都作为独立的字符串)
${#*} 传递到脚本中的命令行参数的个数
${#@} 传递到脚本中的命令行参数的个数
$? 返回值
$$ 脚本的进程ID(PID)
$- 传递到脚本中的标志(使用set)
$_ 之前命令的最后一个参数
$! 运行在后台的最后一个作业的进程ID(PID)
系统信息:
uname
cat /proc/version 返回系统信息
uname -m 返回 “i686″等信息
uname -r 内核版本
uname -n 主机名
uname -s 系统名称,比如”linux”
uname -p 处理器类型和名称(我这里显示 “unknown”)
uname -a 所有 uname 信息
rm -rf表示删除文件,而且可以删除非空目录。-rf参数表示递归强制删除。
文件比较运算符:
-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]
-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]
-L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]
-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]
-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string长度为零,则为真 [ -z "$myvar" ]
-n string 如果 string长度非零,则为真 [ -n "$myvar" ]
string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]
推荐:http://www.techug.com/ten-tips-for-wonderful-bash-productivity
相关文章推荐
- SHELL脚本编程的常识和VI常用技巧
- shell脚本中数组array常用技巧学习实践
- shell脚本常用技巧(一)
- shell脚本中数组array常用技巧学习实践
- *Linux Shell 高级编程技巧4----几个常用的shell脚本例子
- @shell脚本中数组array常用技巧学习实践@
- Linux的常用shell命令技巧集
- linux常用的主机shell脚本
- 常用的shell脚本
- Shell脚本常用判断
- shell脚本常用功能
- Linux Shell常用技巧(十一) 交互式使用shell
- Oracle 常用技巧和脚本
- 总结的常用shell脚本命令,以备后用。
- 常用的shell脚本
- Oracle常用技巧和脚本
- Oracle技术之Linux 常用oracle监控shell脚本(一)
- 常用的主机监控Shell脚本
- shell 常用功能性脚本拾遗
- SHELL 脚本----常用的命令