课程名称:shell编程之变量
课程章节:用户自定义变量、bash环境变量
课程讲师:Tony
课程内容:
用户自定义变量
变量名=变量值
# 等于号两边不能有空格
x=5
name="xiaoming"
环境变量
环境变量在当前Shell或子Shell中都有效
常用的环境变量
HOSTNAME
主机名SHELL
当前的shellTERM
终端环境HISTSIZE
历史命令条数SSH_CLIENT
当前操作环境是用ssh连接的,这里记录客户端IPSSH_TTY
ssh连接的终端的虚拟节点/dev/pts/0,从0开始USER
当前登录的用户
PATH环境变量
系统查找命令的路径
# 增加PATH环境变量的值(把路径/root/sh添加到进去)
PATH = "$PATH":/root/sh
PS1环境变量
命令提示符设置
\d
显示日期,格式为“星期 月 日”\H
显示完整的主机名;如默认主机名:localhost.localdomain\t
显示24小时制时间,格式为“HH:MM:SS”\A
显示24小时制时间,格式为“HH:MM”\u
显示当前用户名\w
显示当前所在目录的完整名称\W
显示当前所在目录的完整名称\$
提示符;root用户的提示符为#,普通用户的为$
语系变量
语系就是系统使用什么语言
系统默认语言环境的保存文件:/etc/sysconfig/i18n
# 查询当前系统语系
locale
'''
LANG:定义系统主语系的变量
LC_ALL:定义系统整体语系的变量
'''
# 查看系统支持的所有语系
locale -a | more
# 语系变量
$LANG
$LC_ALL
关于Linux的中文支持
前提条件:正确安装中文字体和中文语系
- 如果有图形界面,可以正确支持中文显示
- 如果使用第三方远程工具,只要语系设定正确,可以支持中文显示
- 如果使用纯字符界面,必须使用第三方插件(如zhcon等)
位置参数变量
变量 | 描述 |
---|---|
$n | n为数字,$0表示命令本身 $1-KaTeX parse error: Expected 'EOF', got '表' at position 2: 9表̲示第一到第九个参数<br/>十…{10} |
$* | 返回命令行中所有的参数,$* 把所有的参数看成一个整体 |
$@ | 返回命令行中所有的参数,$@ 把每个参数区分对待 |
$# | 返回参数的个数 |
预定义变量
变量 | 描述 |
---|---|
$? | 返回最后一次执行的命令的状态 0/执行成功了;非0/执行失败了(具体的数字有命令自己决定) |
$$ | 返回当前进程的进程号(PID) |
$! | 后台运行的最后一个进程的进程号(PID) |
read接收输入
read [选项] [变量名]
选项 | 描述 |
---|---|
-p “提示信息” | 等待用户输入的时候显示的提示信息 |
-t 秒数 | 等待用户输入的最长秒数,否则执行后面的代码 |
-n 字符数 | 等待用户输入时可以接收的字符数量 |
-s | 隐藏输入的数据 |
# 最佳实践
read -p "确认操作?[y/n]:" -n 1 f
read -p "请输入密码:" -s pw
课程收获
接收与获取、处理用户输入的内容,与用户进行交互,在脚本的编写中很重要
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦