shell常用命令

shell 常用笔记








.当前目录   .. 上级目录    ~用户根目录(/home/lzm)




文件状态测试 
   -d    目录            -s    文件长度大于0 
   -f    正规文件        -w    可写 
   -L    符号连接        -u    文件有suid位设置 
   -r    可读            -x    可执行
[ -d test.sh ](两边加上空格)  =  test -d test.sh






特定shell变量 
   $0    表示脚本名字,$1表示第一个参数......$9表示第九个参数
   $#    参数个数 
   $*    用一个字符串显示所有参数 
   $$    脚本运行的当前进程ID 
   $!    后台运行的最后一个进程的进程ID 
   $@    与$*相同,每个参数作为独立的字符串 
   $-    显示shell的当前选项,与set命令相同 
   $?    显示shell命令的退出状态,0表示无错误,其他表示有错


   
引号
双引号("") 其中引用的变量会替换为变量值
STR="Hello world"     echo "$STR"     Hello world

单引号('') 忽略变量和其他特殊字符,单引号内任何内容都当成字符串显示
STR="Hello world"   echo '$STR'    $STR 

反引号(``) 反引号中的内容被当做命令来执行   
VAR=`date`  echo $VAR   Thu Dec 22 22:08:07 JST 2011 




字符串测试  [ string1 string_operator string2 ] 或者 [ string_operator string ] 
   string_operator可为:  =     两个字符串相等 
                        !=     两个字符串不等 
                        -z     空串 
                        -n     非空串 
数值测试  [ "number1" num_operator "number2" ] 
   num_operator可为:  -eq     数值相等 
                       -ne     数值不等 
                       -gt     number1 > number2 
                       -lt     number1 < number2 
                       -le     number1 <= number2 
                       -ge     number1 >= number2 
  
  


控制流结构


if语句格式 
  if 条件1 
  then 
执行命令1 
  elif 条件2 
  then 
执行命令2 
  else 
执行命令3 
  fi 
  
  
case语句格式 
  case 值 in 
  模式1) 
  命令1 
  ;; 
  模式2) 
  命令2 
  ;; 
  ...... 
  easc 
其中的“模式”可以是 *(任意字符), ?(任意单字符), [..](范围内任意字符) 
“模式”中还可以是使用 | (比如 str1|str2 表示str1和str2都可以) 




for语句格式 
  for 变量名 in 列表 
  do 
  命令1 
  命令2 ...... 
  done 
  
  
until语句格式 
  until 条件 
命令1 
...... 
  done 
一直执行至条件为真时才结束,至少执行一次 




while语句格式 
  while 条件 
命令1 
...... 
  done 
利用IFS来改变读取内容的分隔符 
利用break和continue控制循环的执行






Shell函数


shell函数格式 
  函数名 () 
  { 
  命令1 
  ...... 
  } 
或者 
  function 函数名 () 
  { 
  命令1 
  ...... 
  } 
引用其他脚本中函数  . /pathname/funcfile (<点><空格><斜线><文件完整路径名>或者<点><空格><文件相对路径名>) 
函数中通过 $1, $2,......$9来获取参数




脚本传递参数


使用shift依次获取各个参数,比如 
  while [ $# -ne 0 ] 
  do 
echo $1  # 通过shift,$1将依次表示各个参数 
shift 
  done 
getopts语法格式 getopts operation-string variable。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值