栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

shell脚本知识之一

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

shell脚本知识之一

文章目录

shell脚本知识之一

定义变量

普通变量shell环境变量 表达式的使用

变量判空获取字符串长度

shell脚本知识之一 定义变量

在Bash中,每一个变量的值都是字符串。无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。有一些特殊的变量会被shell环境和操作系统保留,用来存储一些特别的值,这类变量就称为环境变量,相信大家对环境变量也并不陌生,因为即使在windows操作系统上,也存在环境变量。 普通变量

普通变量可以通过下列的方式进行赋值,并打印输出:

#var=value          #等式左边是变量,右边是将要赋给变量的值
var="value"         #声明一个变量var,并将其赋值为“value”
echo $var           #使用echo输出变量的值
echo ${var}         #作用同上一行
注意事项: var=value 不同于 var = value,前者是一个赋值表达式,而后者则是一个逻辑表达式,用来判断等式两端值是否相同。在赋值表达式中,如果使用的是双引号,赋给变量的值是字符串的值。而如果是单引号,就会赋给变量执行结果后的值。
var1="whoami"            #使用双引号
echo $var1              #输出“whoami”
var2='whoami'          #使用单引号
echo $var2              #输出“root”
var3=value 2            #含空白符,不使用引号
echo $var3               #在centos7.6中,返回行6: 2: 未找到命令
shell环境变量

shell自带的环境变量如下图所示:

echo $$ #Shell本身的PID
echo $SHELL	#输出shell的版本
echo $0	#shell本身文件名
echo $* #所有参数列表,以"$1 $2 … $n"的形式输出所有参数。
echo $@ #所有参数列表,以"$1" "$2" … "$n" 的形式输出所有参数
echo $# #添加到Shell的参数个数
echo $1~$n #添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
实例
 1 #!/bin/bash
 2 #
 3 printf "The result is %sn" "$$"
 4 printf "The result is %sn" "$SHELL"
 5 printf "The result is %sn" "$*"
 6 printf "The result is %sn" "$@"
 7 printf "The result is %sn" "$#"
 8 printf "The result is %sn" "$0"
 9 printf "The result is %sn" "$1"
10 printf "The result is %sn" "$2"
结果
[root@host-6 test]# sh test.sh abc 123
The result is 13117
The result is /bin/bash
The result is abc 123
The result is abc
The result is 123
The result is 2
The result is test.sh
The result is abc
The result is 123
表达式的使用 变量判空

shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空主要有以下四种

    变量通过" "引号引起来
    #!/bin/sh
    para1=
    if [ ! -n "$para1" ]; then
      echo "IS NULL"
    else
      echo "NOT NULL"
    fi
    
    直接通过变量判断
    #!/bin/sh
    para1=
    if [ ! $para1 ]; then
      echo "IS NULL"
    else
      echo "NOT NULL"
    fi
    
    使用test判断
    #!/bin/sh
    dmin=
    if test -z "$dmin"
    then
      echo "dmin is not set!"
    else  
      echo "dmin is set !"
    fi
    
    使用""判断
    #!/bin/sh 
    dmin=
    if [ "$dmin" = "" ]
    then
      echo "dmin is not set!"
    else  
      echo "dmin is set !"
    fi
    
获取字符串长度

字符串的长度是字符串极为重要的一个特征,在shell中可以使用如下方法获取字符串的长度:

var="value"
length=${#var}
echo $length            #此处将输出5
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746822.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号