linux系统键盘变量,Linux操作系统基础操作之变量的相关设置

Bash变量分类

环境变量

特殊变量(系统变量)

预定义变量

位置变量

用户变量(本地变量)

用户变量在编程过程中使用最多

系统变量在对参数判断和命令返回值判断使用

环境变量主要是在程序运行的时候需要设置

查看变量

echo $varname

查看指定变量varname的值

eg:echo $PATH

echo $MAIL

若echo指令后不加$则直接显示其后所接的字符串

06b62b04ae91ccac77952de4d9737bf3.png

变量的设定

变量名=变量内容

等号两边不能加空格(这点与具体的shell版本有关)

变量名只能是字母或数字,且首字符不能是数字

特殊字符可用转义符号“\”变为一般字符(enter、$、\、空格符、’等)

0f9d1be0bb09708ac1d8ed5ca57fd1ba.png

双引号有变量代换功能:当双引号中的字符串出现了变量名时,系统自动将变量值作为字符串的一部分看待

单引号不具有变量置换功能

``号表示先执行``内的表达式,优先处理该符号内的指令,反馈结果被视为外层指令的一部分

51222b61c20e8c91036aed9a26e54f1a.png

eg: ]# ls –al `echo $workdir`/testdir

该指令相当于ls -al /home/user/testdir

变量累加内容

累加变量内容时,使用“$变量名称”指代变量原值

eg: MAIL=$MAIL:/home/user/mailbox

MAIL=“$MAIL”:/home/user/mailbox

MAIL=${MAIL}:/home/user/mailbox

命名规范:大写变量名通常为系统预设,用户自定义变量通常用小写

变量取消

取消变量:unset paraname

5083d8f924cf3c700135da15366c8285.png

查看系统变量

env 查看系统默认的环境变量

常见的环境变量

BASH_ENV=/root/.bashrc

用户自定义的环境变量的配置文件

HISTSIZE=1000

.bash_history中记录的指令条数

HOSTNAME=localhost.localdomain

主机名

HOME=/root

当前用户的主目录

LANG=zh_CN.UTF-8

语言类型

LOGNAME=root

当前登录用户的账号

MAIL=/var/spool/mail/root

邮件的存取地址

PATH=……

系统可执行文件的默认查找路径

set 也可查看当前用户的所有变量

PS1命令

PS1:提示符的设置

\d:代表日期

\H:完整的主机名称

\h:仅取主机名称的第一个名字

\t:显示时间,为24小时格式,HH:MM:SS

\T:显示时间,为12小时格式

\A:显示时间,为24小时格式,HH:MM

\u:当前用户的帐号名称

\v:bash的版本信息

\w:完整的工作目录名称,家目录以~代替

\W:利用basename取得工作目录名称,所以仅列出最后一个目录名

\#:执行的第几个命令

\$:提示符,如果是root则是#,否则就是$

49a70f1c24fcf326aad76269f5b6a7ba.png

特殊变量$,?命令

$:关于shell的PID

?:上一个执行命令的回传码

100a5259892c8d3be27629b51257f0d4.png

变量的范围

自行设置的变量,只在当前的shell环境中存在,在子程序中不存在此变量

export varname:将自定义变量变成环境变量

若该变量需要造其他子程序中执行,则需要用export是变量变成环境变量

6c3e1b240deeb9629751f42d0f889133.png

变量的键盘读取

read:读取来自键盘输入的变量,常用于shell脚本编写中

read [-pt] variable

-p:后面可以接提示符

-t:后面可以接等待的“秒数”

0f356160e7fd29f38b3c136d8db344c5.png

数组的声明

declare [-aixr] variable

-a:将后面variable的定义为数组(array)

-i:将后面variable的定义为整数数字(integer)

-x:与export一样,将后面的variable变成环境变量

-r:将一个variable的变量设置成只读(readonly),也不能取消设置(unset)

5a71d82eeff26e955217c4d7c77780c3.png

数组属性array的说明

var[index]=content

[index]是数组下标,当前bash中提供的是一维数组

b90294fc6983c1ada9bdbae777955957.png

Bash shell的配置文件

在命令行中设定的用户自定义变量和指令别名都是针对本shell而言的,若注销了系统,再次登录时,这些设定就会丢失

使用配置文件可以将设定永久保存

502432c76afdf05fee1061bdca8251cb.png

系统设定值:需要注销重启才能使用

用户shell操作环境启动后首先被调用的配置文件通常包括/etc/profile、/etc/bashrc、/etc/sysconfig/i18n等

这些文件都是在设定系统操作环境时常用的,修改过后需要再次登录才能起作用

/etc/profile中设定了一些重要的变量

例如PATH、USER、MAIL、HISTSIZE等

/etc/bashrc用来设定umask和提示字符(PS1)

/etc/sysconfig/i18n中放置的是与系统语言相关的设置

/etc/profile.d/*.sh针对颜色、语系、vim等指令进行了一些附加设置。

/etc/man.config:确定了使用man指令时到哪里去找man page的路径

用户自定义配置

用户自定义配置只在设置它的子shell中作用,通常都放置在用户的个人根目录下

这些文件通常包括~/.bash_profile 、~/.bash_login 、~/.profile、 ~/.bashrc 、~/.bash_history和~/.bash_logout等

~/.bash_profile放置个人路径等信息 ,可定义个性化路径(PATH)与环境变量,等等。

~/.bashrc文件中存放的是个人的偏好设置,例如命令别名、路径等。每一次执行shell脚本都会重新读取这个文件,是最完整的,而~/.bash_profile只有登录时才读取一次。

~/.bash_history 存放本次登录前的历史指令

~/.bash_logout放置的是注销本shell时要做的事情

在变量的设置规范中,后输入的设置值可以替换先输入的设置值,那么,在登陆bash是我时候,这些设置文件到底是如何读取的呢?

1.先读取/etc/profile,再根据/etc/profile的内容去读取其他附加的设置文件,例如/etc/profile.d与/etc/inputrc等设置文件

2.根据不同的用户,到用户家目录去读取~/.bash_profile

3.根据不同的用户,到用户家目录去读取~/.bashrc

最终的设置是根据文件~/.bashrc来确定的

source 配置文件名

该指令可以实现不注销系统就直接读入指定配置文件的作用

Bash特殊字符

Ctrl+C - 终止当前命令

Ctrl+D - 输入结束(EOF),例如邮件结束的时候

Ctrl+M - 就是Enter

Ctrl+S - 暂停屏幕的输出

Ctrl+Q - 恢复屏幕的输出

Ctrl+U - 在提示符下,将整行命令删除

Ctrl+Z - 暂停当前命令

&& - 当前一个指令执行成功时,执行后一个指令

|| - 当前一个指令执行失败时,执行后一个指令

cd /tmp;touch t

多个指令连续执行

ls /tmp && touch /tmp/test

第一个命令执行成功时执行第二个命令

ls /tmp/qq || touch /tmp/qq

第一个命令执行不成功时执行第二个命令

ls /tmp/tt && echo “exist” || echo “not exist”

ls /tmp/tt || echo “not exist” &&echo “exist”(有疑问)

command1 && command2 || command3

如果1可以执行,就执行2,若1不可以执行,就执行3

cut选取指令

选取指令:将一段数据经过分析后,取出我们想要的部分,或者是通过分析关键词,取出我们想要的行。

cut:将一段消息的一段切出来,以行为单位

cut -d’分隔符’ -f fields

cut -c 字符范围

-d:后面接分隔符,与-f一起使用

-f:表示取出第几段

-c:以字符为单位取出固定的字符范围

8fc86ff075428f235c06dd97bd9de18a.png

双重定向

tee -a filename 双向重定向指令

该指令除了将数据导入指定文件外还将其显示到屏幕上

-a 附加内容到现有文件,默认为覆盖

878b0facc859e459d67588fafd46d21f.png

实例

ls –l /var | tee /root/tee.out

cat /etc/passwd | tee -a /home/root/feedback |wc –l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值