为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第22天 学习Linux —— read接收输入、用户自定义变量、环境变量、预定义变量

标签:
Linux

课程名称:shell编程之变量

课程章节:用户自定义变量、bash环境变量

课程讲师:Tony

课程内容:

用户自定义变量

变量名=变量值

# 等于号两边不能有空格
x=5
name="xiaoming"

环境变量

环境变量在当前Shell或子Shell中都有效

常用的环境变量
  • HOSTNAME 主机名
  • SHELL 当前的shell
  • TERM 终端环境
  • HISTSIZE 历史命令条数
  • SSH_CLIENT 当前操作环境是用ssh连接的,这里记录客户端IP
  • SSH_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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消