shell编程-变量

1.Bash用户自定义变量

【局部变量】

【按数据存储分类】:整型、浮点型、字符串型、日期型

【变量定义】:x=5,y=6,z=$x+$y=5+6,m=$(($x+$y))=11

【Bash变量默认都为字符串型,等号左右不可以有空格】

【变量叠加】:x="$x"123,x=${x}345

2.Bash环境变量

【全局变量】exprot 变量名=变量值

【变量查询】:env 、 set  -u:当调用不存在的变量时,实现明确的报错

【删除变量】:unset 变量名 

【用户可以自定义环境变量,但是变量名是不变的,变量的作用是固定的】

PATH变量:系统查找命令的路径

变量叠加:PATH="$PATH":/root/sh

3.Bash语系变量

【查看语系变量】:locale [-a | more]

LANG:定义系统主语系

LC_ALL:定义整体语系

cat /etc/sysconfig/i18n

4.位置参数变量

$n:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要大括号${10}

$*:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体

$@:这个变量也代表命令行所有参数,不过$@把每个参数区分对待

$#:这个变量代表命令行整所有参数的个数。

for i in "$*"

#这个for循环只会循环一次

do

echo "The parameters is:$i"

done

for y in "$@"

这个for中,$@有几个参数,就会循环几次。

4.预定义变量

$?:判断最后一次命令是否正确执行

$$:当前进程的进程号PID

$!:后台运行的最后一个进程的进程号PID

接收键盘输入:

read 【选项】【变量名】

-p:提示信息

-t:等待的秒数

-n:字符数

-s:隐藏输入的数据,适用于机密信息的输入

read -p "please input your name:" -t 30 name

echo $name

原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/5666489.html