shell编程三~变量

来源:互联网 发布:申请淘宝手机类店铺 编辑:程序博客网 时间:2024/04/27 23:53

在shell,变量没有类型,也不需要在使用之前先声明,直接赋值就可以了。在shell中,变量的值都是字符串,不管你在赋值时使用采用了引号。


变量可以使用'='号来赋值,用法如下:

var=value

var是变量名,value是变量的值,如果value中包含了空白字符(例如空格),那么value必须使用引号(单引号或双引号)来引用,如果没有,则可以省略引号。

注意:var = value不同于var=value,把var=value写成var = value是一种常见的错误,前者是赋值操作,而后者是相等操作。

那如何使用变量呢?引用变量的值使用符号'$',例如:

#!/bin/bashvar="value"echo $var #or echo ${var}

注意,在引用变量时,花括号是可选的,加上花括号是为了限定变量和普通字符串,例如:

#!/bin/bashvar="value"echo $varAAA
这样子变量会识别成名varAAA的变量,所以需要加上花括号,echo ${var}AAA。


一些技巧:

1. 获取字符串的长度

#!/bin/bashvar=12345678901234567890length=${#var}echo $length
使用${#var}就可以得到字符串的长度。


2. 识别当前的shell版本

使用

echo $SHELL

echo $0

得到以下输出结果:

/bin/bash

bash


3. 检查是否为root用户

可以使用UID环境变量来完成,例如:

#!/bin/bashif [ $UID -ne 0 ]; thenecho Non root user. Please run as root.elseecho "Root user"fi
注意:root用的UID为0。


参考书:Linux Shell Scripting Cookbook

0 0