Shell优点:
命令编修
档案及补全(文件名与命令补全使用Tab)多按Tab是个好习惯
命令别名 Alias lm=’ls -al’
重定向(这个概念很重要,有时候编程语言一堆语句完成的事情在脚本里就是一个> < 或者>> <<….)
标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <
标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>
错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>
kill -l 1234 > /dev/log 2 > &1 前一部分是将执行进程终止的显示结果输出到/dev/log文件中,2>&1意思是将执行错误信息也输出到/dev/log即标准错误与标准输出位置一样(此处可不同 2 > /dev/error )
管道命令(就像水管一样,一个命令的输入当成另一个的输出,在文本处理上十分神奇)
通过|连接命令执行的结果 例子:ps|sort > a.txt
Shell脚本编写:
Vi编辑 ,开头要有#!/bin/sh 即执行脚本的位置
然后保存,chmod +x **.sh 添加可执行权限
然后执行 ./**.sh
help test|less 可以查看Shell判断语句test或者说是[ ]提供的基本功能,包括文件判断字符判断数值判断等。
例子,输出当前路径下所有文件夹(加[[…]]仅仅是习惯问题,一个也可以)
#!/bin/shfor file in *doif [[ -d $file ]]thenecho $filefidone
通过declare -i a=4 可将变量a申明为整形
在SHell脚本中 $0 $1 $2….0表示该脚本的名称 1,2,3 …N 分别表示第几个参数
$?表示上一条Shell语句执行完成的状态码,,用于检验执行情况,只有返回0是正确的,其余为各种错误。
执行语句并查看返回结果例子,查看系统的某些端口是否在活动:
#!/bin/shcmd=’netstat -an |grep :80’if [[ $cmd != “” ]]thenecho “Running”elseecho “Stop”fi
调试Shell脚本的语句
sh [-nvx] scripts-n :不要执行 scripts ,查询 scripts 内的语法,若有错误则予以列出!-v :在执行 scripts 之前,先将 scripts 的内容显示在屏幕上;-x :将有使用到的 scripts 内容显示在屏幕上,与 -v 稍微不同!
,再回头,便生出无限羁绊。那是彼此的刺在对方心里留下的痕迹,