shell script之变量
Posted yc紫日
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell script之变量相关的知识,希望对你有一定的参考价值。
linux变量
什么是变量
用一个简单的“字眼”来代替另一个比较复杂或者容易变动的数据
变量的显示与设置:echo,unset
变量的显示
echo ${PATH}
变量的设置规则
等号连接 变量=变量内容
等号两边不能直接接空格符
变量名称只能是英文或数字,数字不可用作第一个字符
变量内容有空格需使用双引号或单引号括起来
单引号:特殊字符仅表示字符
双引号:特殊字符可保持原本特性,如$
转义字符可将特殊符号变成一般字符
$(command)与`command`均表示先执行command
变量内容追加
PATH=${PATH}:/home/bin
将变量设置为环境变量
export PATH 注:export后不跟变量名时,会显示所有环境变量
变量的取消
unset PATH
环境变量的功能
env
查看目前shell环境下所有环境变量
export
查看目前shell环境下的所有环境变量,
将自定义变量转成环境变量
set
查看所有变量(包含环境变量与自定义变量)
一些有用的变量
PS1=\'[\\u@\\h \\W]\'
设置命令提示符,即设置[root@www ~]#
\\d :可显示出『星期 月 日』的日期格式,如:"Mon Feb 2"
\\H :完整的主机名。举例来说,鸟哥的练习机为『www.vbird.tsai』
\\h :仅取主机名在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略
\\t :显示时间,为 24 小时格式的『HH:MM:SS』
\\T :显示时间,为 12 小时格式的『HH:MM:SS』
\\A :显示时间,为 24 小时格式的『HH:MM』
\\@ :显示时间,为 12 小时格式的『am/pm』样式
\\u :目前使用者的账号名称,如『root』;
\\v :BASH 的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅取『3.2』显示
\\w :完整的工作目录名称,由根目录写起的目录名称。但主目录会以 ~ 取代;
\\W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。
\\# :下达的第几个指令。
\\$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 啰~
?
获得上一条命令的回传码
影响显示结果的语系变量:locale
locale -a
查看Linux支持多少种语系
local
查看被用来设置语系的变量
/etc/sysconfig/i18n
当前默认语系
变量键盘读取,数组与声明:read,array,declare
变量键盘读取:read
read [-pt] variable
p 后接提示符
t 后接等待的秒数
变量声明:declare
declare [ - | + ][aixr] variable
-a 设置一个数组变量
-i 设置个整数变量
-x 将后面的变量变为环境变量
-r 将变量设置成为readonly类型,改变辆不可被更改内容,也不能重设
-p 列出变量的类型
+ 加号表示取消该变量的该类型
数组类型变量:array
设置方式
var[index]=content
设置实例
var[1]="small min"
var[2]="big min"
var[3]="nice min"
使用实例
echo "${var[1]},${var[2],${var[3]}"
变量内容的删除与替换
变量的测试与替换
-、+ 根据str的情况设置var=expr
= 根据str的情况设置var=expr,同时设置str=expr
? 根据str的情况设置var=expr,异常输出错误提示
以上是关于shell script之变量的主要内容,如果未能解决你的问题,请参考以下文章
shellLinux shell 之 判断用户输入的变量是否为数字