加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

脚本编程基础知识点概括

发布时间:2021-12-15 11:56:05 所属栏目:PHP教程 来源:互联网
导读:一:关于脚本 1:linux下的脚本简单的概括起来就是将多个命令,变量 嵌套与不同的控制语句及函数中而组合起来的一个顺序执行命令的批处理任务 2:在linux中一个脚本的展开需以#!/bin/bash开始 下面可以附加一些关于脚本的相关的注释信息:比如:作者,脚本的
一:关于脚本
 
1:linux下的脚本简单的概括起来就是将多个命令,变量 嵌套与不同的控制语句及函数中而组合起来的一个顺序执行命令的批处理任务
2:在linux中一个脚本的展开需以#!/bin/bash开始
下面可以附加一些关于脚本的相关的注释信息:比如:作者,脚本的要实现的功能,版本,时间等
3:最后一个脚本的执行时该脚本必须要有执行权限或者使用bash scripts_name 的形式执行
4:脚本不需要编译执行,而是解释执行(执行效率比较低)。
二:基础
 
变量  
      linux脚本中的变量不需要事先声明,而是直接定义使用(这点不同于其他高       级编程语言中变量的使用)
 
     变量的分类:
本地变量(局部变量):在一段代码串(一个函数或者控制语句等)中定义的变量
                        该变量在当前shell生效
环境变量 :当前使用的shell中定义的变量(export 定义的变量或者env,set中定义的变
               改变量在当前设shell及其子shell中生效
特殊变量:常见的$?(一个命令的执行状态的返回值) 0 为正确结果,其他数值的为错误结果
位置变量:$1 $2 $3....${10},${11}...${n}
 
     变量的赋值:    
变量的赋值:var_name=var_value  
显示变量的值使用echo var_name
    例如:
       
     另外我们可以将一个命令的的执行结果赋值给一个变量
var_name=`COMMAND` 的形式引用
       
      变量的引用:
通过上面的例子我们可以发现
变量的引用时通过$符号加上变量名的形式引用变量的  
$var_name
命令替换
     关于命令的替换,必须明白三种符号 ""(双引号) ''(单引号) ``()的意义 看      下面的例子,我们由此展开
 
 
 
"": 可以实现命令替换
'': 变量强引用
``: 对命令的结果引用(命令替换) 上面的例子还可以使用echo $(cat a.txt)
 
 
 
 命令的逻辑关系
 
命令的逻辑关于有三种
与关系
command1&&command2  
command1 和command2 同时为真是结果才为真
command1 和command 其中一个为假结果则为假
备注:当command1为真时command2才执行,command1为假时command不执行(结果已经明确了)
或关系
command1||commadn2
command1 和command2 同时为假是结果才为假
command1 和command 其中一个为真结果则为真
备注:当command1为假时command2才执行,command1为真时command不执行(结果已明确了)
非关系
!command  
比命令的执行结果取反
     例1:
 
例2:
 
例3:
 
 
 
条件测试
     一般格式 [ express ]  或者test express
 
              [[ express ]] (代表关键字)
 
整数测试:
 
           关于整数测试的符号有:
 
              -gt(大于)  -ge(大于等于)
 
             -lt(小于) -le(小于等于)
 
             -eq(等于) -ne(不等于)
 
整数的测试须放在[]中就行
例如:
 
 
 
注意[]内的两头必须有空格。
算术运算:
 
        let [ express ]
 
        expr express
 
     例如:
 
 注意两边的空格
 
 
 
字符串测试:
 
(字符串的比较实际上其对应的ASCII的比较,另字符串的测试一般放在[[ ]]中进行
      运算符:>(大于)  >=(大于等于)
 
              <(小于) <=(小于等于)
 
              !=(不等于)   =(等于   
 
-z "string":测试string字符串是否为空
-n "string":测试string字符串是否不为空
例如
 
 
 
 
 
文件测试:        
 
-e:测试给出的条件是否存在
 
         -f:测试给出的条件是否是个文件
 
         -d:测试给出的条件是否是个目录
 
         -r:测试给出的文件是否具有读的权限(相应的有-w:写 -x:可执行)
例如:
 
 
 
三 :脚本编程中的控制语句
 
if语句
     在脚本中if语句有三种:单分支,双分支,多分支
 
 单分支                        双分支                     多分支
 
if 条件;then               if 条件;then              if 条件1;then       
   statement1                 statement1                statement1
   statement2               else                     elif 条件2;then
fi                            statement2                 statement2
                           fi                        elif 条件3;then
                                                       ......
                                                     fi  
                                                      
单分支:
# 如果 /etc/passwd 存在
if [ -e /etc/passwd ];then
#打印 exist  
   echo "exist"
fi
 
双分支:
#如果 /etc/passwwd 存在
if [ -e /etc/passwwwd ];then
#打印 exit
   echo "exist"
else  
#打印 no exist
   echo "not exist"
fi
 
 
多分支:
if [ -d /etc/passwd ];then
  echo "directory"
elif[ -f /etc/passwd ];then
   echo"file"  
else
  echo "nothing"
fi  
 在脚本编程中可以使用#注释一行代码。另if语句还可以嵌套使用
case语句
    脚本中case 语句的格式
 
case var in                    var:变量  var_value:变量取值
    var_value1)
    statement1
;;          var_value2)
    statement2  
;;
*)                             ------其他任意值
    statement
;;
esac      
     
 case语句中当var在var_value中获得到正确的结果是就退出case语句,下面statement不再执行
循环控制语句:
 
for循环语句   
for 变量 in 列表;do  
    statement()循环体
done
 注意:for循环的条件是变量在列表中可以取到值,否则将不执行         循环体语句,同样for循环也可以嵌套使用
 
                   for循环的列表表示方法:
                         1:可以是 {起始值..结束值}
                         2:可以使用`seq 起始值 结束值`
                         3:还可以是命令(命令的执行可以得到一个列表)
例如:计算1到5之间的整数的和
#!/bin/bash
declare -i sum=0
for i in {1..5};do
    sum=$[$sum + $i]
done
echo $sum
  同样可以写成这样子    
for i in `seq 1 5`;do
     sum=$[$sum + $i]
done
echo $sum
for i in `ls /root`;do
    if [ -f $i ];then
       echo "$i is file"
    elif [ -d $i ];then
       echo "$i is directory"
    else
       echo "$i cann't identification"
   fi
done
 
while循环语句
 格式:
while 条件;do
     statemnt(循环体)
done
注意 1:while循环是在条件满足时进入循环,当条件不满足时退出循环体        
 
     2:循环体中须有让循环体自动的去判断条件语句的条件,否则循环将陷入死循环或者达不到我们预期的目的            3:条件可以是个命令或者条件表达式
 
    例如:
 
declare -i sum=0
declare -i i=1
while [ $i -le 5 ];do
     sum=$[$sum + $i]
     let i++
done
echo $sum
 
另外wile语句的强大的例子
 
while read line;do
 
statement
 
done < 文件
 
例如:
 
while read line;do
cut -d: -f1
done < /etc/passwd
 
until循环语句
     格式
 
until 条件;do
     statement
done
 until循环的条件是当条件不满足是就循环,满足是就退出
read -p "please input your choice:" CHOICE
until [ "$CHOICE" = 'q' -o "$CHOICE" = 'Q' ];do
      echo "this is example"
read -p "please input your choice:" CHOICE
done
 
break语句和continue语句
     break 和continue常常和其他循环语句一起嵌套使用
 
     说明:break 是直接退出循环体,而continue是退出本次循环直接进入下一次的循环。
 
函数
     在脚本中函数的功能为独立的实现一个功能模块。格式为
 
function FUN_name {
 
  函数体
}
 
   或者
 
FUN_name {
 
函数体
 


(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读