前言:
Bash变量主要分为4种:用户自定义变量、环境变量、位置变量、预定义变量。本文主要介绍这4种变量。
正文:
1、用户自定义变量
只能作用于当前Shell,变量取值都是一个字符串
DAY=Sunday “=”左右两边不能有空格
DAY=“today is Sunday” 若含有空格,则需要加双引号
echo $DAY $调用变量,echo打印输出
unset DAY 删除变量
set 该命令查看系统所有变量及其值
2、环境变量
全局的,所有Shell都可以调用的变量
export DAY=Sunday export命令就是将变量导出为环境变量
env env命令是查看系统所有的环境变量
环境变量PATH:为系统命令搜索的路径。PATH="$PATH":/root/sh/ 即添加/root/sh/目录也为PATH变量,若想要永久更改环境变量,需要修改环境变量配置文件,详细内容下一篇介绍。
3、位置参数变量
$n n为数字,$0代表命令本身,$1-$9代表第1-9个参数,10以上的需要用大括号${10}
$* 代表命令行中所有参数,$*把所有参数当做一个整体
$@ 代表命令行所有参数,$@把每个参数区分对待
$# 代表命令行中参数的个数
4、预定义变量
$? 最后一次执行的命令的返回状态。若为0,则表示命令执行正确;若为非0,代表上一条指令执行错误。
$$ 当前进程的进程yekeyichaxun 号
$! 后台运行的最后一个进程的进程号
补充1、变量接收键盘输入
read [选项] [变量]
选项:
-p “提示信息”:在等待输入时打印的提示信息
-t 秒数 :指定等待时间,否则一直等待
-n 字符数 :只接收指定字符数就执行
-s :隐藏输入的数据
例:read -p "please input your name" -t 30 name
补充2、语系
locale 查询当前语系,其中LANG=“zh_CN.UTF-8”说明是中文语系
或echo $LANG
cat /etc/sysconfig/i18n 查询默认语系,即开机后查询用
Linux中文支持:前提是安装了中文字体和中文语系
①图形界面中,可正确支持中文显示
②若是第三方远程工具,只要语系设定正确即可
③纯字符界面,需安装第三方插件?(zhcon)