简单shell编程

1.查看系统支持的SHELL:
 /etc/shells
2.文件开头使用#! 设置只用什么编译 如: #! /bin/sh

3.输入输出重定向 >  或者 >> 
    >  把前面的结果 输出到某个文件 覆盖模式   如  cat test.sh > test1.sh 
    >> 把前面的结果 输出到某个文件 追加模式       cat test.sh test1.sh >test.sh

4.管道pipe | 把命令的结果的输出 作为一个命令的输入
    command1| command2[| command3...]         如  cat test.sh |grep 'test' | wc -l  读取test.sh 文件 然后查询包含test的行 ,在计算行数

5.shell程序的变量和参数 分为 系统环境变量,用户自定义变量
  系统环境变量 :
                HOME:用于保存注册目录的完全路径名。
                PATH:用于保存用冒号分隔的目录路径名
  用户定义的变量 : 格式  变量名 = 值   如   name=“zhangsan”
  用户定义的环境变量 : 格式  export  变量名 = 值    如 export JAVA_HOME = "/opt/jdk"
6.获取变量的值  $变量名     如 $name

7 参数比较
    (1)数值测试:

      -eq:等于则为真
    
      -ne:不等于则为真
    
      -gt:大于则为真
    
      -ge:大于等于则为真
    
      -lt:小于则为真
    
      -le:小于等于则为真

  (2)字符串测试:

       =:等于则为真
    
      !=:不相等则为真
    
      -z字符串:字符串长度伪则为真
    
      -n字符串:字符串长度不伪则为真

  (3)文件测试:

      -e文件名:如果文件存在则为真
    
      -r文件名:如果文件存在且可读则为真
    
      -w文件名:如果文件存在且可写则为真
    
      -x文件名:如果文件存在且可执行则为真
    
      -s文件名:如果文件存在且至少有一个字符则为真
    
      -d文件名:如果文件存在且为目录则为真
    
      -f文件名:如果文件存在且为普通文件则为真
    
      -c文件名:如果文件存在且为字符型特殊文件则为真
    
      -b文件名:如果文件存在且为块特殊文件则为真

8  流程控制
       (1)if :                                        如 :
              if 条件命令串 ; then   ........          if  $name = "zfteng" ; then  " hello zfteng welcome  "
                  elif   条件命令串 ; then   ........      elif $name = "jon"  ; then  echo " welcome to china " 
                 else               ........               else  echo " do not know "
               fi                                        fi
     
       (2)case :                                        如:
               case  变量名 in                          case  $name in
                   值1  ) ........... ;;                       "zfteng" ) echo " hello zfteng welcome  " ;;
                   值2  ) ........... ;;                       "jon"    ) echo " welcome to china "      ;;
                   *    )                                      *        ) echo " do not know " ;;
               esca                                     esca
              
       (3)for :                                         如:
              for 变量名 in () do  .......             for i in $(seq 1 10); do echo $i
            done                                      done
      
       (4)while:                                        如:
              while ......      do  .......             while ls  do echo  "zfteng"
              done                                      done

9 setsebool -P ftpd_disable_trans 1

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值