shell脚本知识

shell脚本的执行
1、当脚本文件本身没有可执行权限(文件x位为-号位)
           bash script-name或 sh script-name  
2、路径+脚本名
         path/script-name 
      当前目录下
        ./script-name       
3、在当前shell脚本中加载另一个shell脚本
       source script-name   或
       . script-name          (点号与脚本名之间有空格,点号代表包含)

 

shell变量
1、变量的定义
                格式:变量名=值 
                         变量名=变量
                变量名要求:字母开头,由字母、数字、下划线组成。

2、位置变量:通过命令行给程序传递执行参数。
            ./script-name 参数1 参数2 参数3     
     $n             取当前执行shell脚本的第n个参数值,n=1~9,如果n>9,用大括号括起来,如${10}         ${10}就等于shell脚本第10个参数值。
     $@             这个程序中所有参数。(这是将参数传递给其他程序的最佳方法,因为它会保留所有内嵌在每个参数里的空白)。

3、Bash预定义变量
     $?              获取上一个执行命令的返回值(0为成功,非零为执行命令未成功)。
     $$              获取当前shell脚本的进程号(PID)。

     $#             获取当前shell脚本命令行中参数的总个数。

     $0            (n=零时)取脚本路径和名称。

     $*             所有位置参数的内容。

 

if条件语句

              if <条件语句>

              then 

                    #指令

              fi   

 

把shell脚本改选成标准rpm脚本:

#!/bin/bash
#script-name

#chkconfig:2345 90 20   
#description: script-name server daemon

通过service命令脚本进行开启和关闭:
linux的快捷目录:/etc/rc.d/init.d
  service script-name start|stop|restart     

通过chkconfig命令把shell脚本设置开机自启:
   查看:chkonfig --list script-name  
   设置:chkconfig script-name on
            chkconfig script-name off

 函数定义
   
function menu(){
           echo 'helloward,bash!';
    }

 

shell脚本菜单界面编写
一、cat命令的heredoc的使用方法
  cat<<eof
           #$name输出内容
  eof

二、字符输出,颜色控制
  echo -e "\033[30;47m test \033[0m"      

三、while死循环
           while true
           do
                  #执行代码
           done

 

 shell脚本调试

 -n选项只做语法检查,而不执行脚本。
sh -n script_name.sh     

 跟踪调试

 sh -x script_name.sh    
进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带,带加号表示该条语句是Shell执行的。不带加号表示该语句是Shell产生的输出。
在调试过程中可以按Ctrl + Z中断调试,观察结果,然后再按fg键继续调试即可。

 

转载于:https://www.cnblogs.com/lanchang/p/6495703.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值