Linux的变量I/O重定向管道全局搜索正则表达式


linux中的变量

变量的分类:

本地变量:只对当前用户的shell有用

声明方法:变量名(大写)= “xxxxx” ’ xxxxx’

环境变量:对当前用户写的shell和子shell都有效

       声明方法:export 变量名(大写)= “xxxxx” ’ xxxxx’

查看环境变量:

[root@www.bkjia.com tmp]# export

DISPLAY:定义是哪个主机,第几个屏幕显示

HISTSIZE:定义history中存取历史记录的条数

HOME:当前用户的家目录

PATH:执行外部命令(非当前shell自带的命令)就在PATH显示的路径中查找

USER:当前用户名

SHELL:当前使用的shell

其他查看环境变量的方法:printevnevn 

变量的引用:

eg

[root@www.bkjia.com ~]#DIR=’/tmp/script’ 定义变量

[root@www.bkjia.com ~]#cd $DIR         通过$对变量进行引用

[root@www.bkjia.com ~]#mkdir $DIR     

[root@www.bkjia.com ~]#unset DIR        释放变量 

查看变量内容:

将字符输出到显示器使用echo命令

[root@www.bkjia.com ~]# echo 字符信息

要查看变量中的字符,需要使用  $变量 

[root@www.bkjia.com ~]# echo $变量   即将变量内字符输出 

特殊变量:$?

$?中的值是上一条命令执行的结果(成功:0,失败1~255

[root@www.bkjia.com ~]#cd

[root@www.bkjia.com ~]# echo $?

0

[root@www.bkjia.com ~]# cdd

-bash: cdd: command not found

[root@www.bkjia.com ~]# echo $?

127 

位置变量:$1,$2,$3…

作用:将从输入内容导入脚本

eg

脚本:

#/bin/bash

echo $1

echo $2

echo $3

执行脚本:

[root@www.bkjia.com ~]#脚本名 字符1 字符2 字符3

执行结果:

字符1 字符2 字符3 

算术运算:

linux中默认所有变量都是字符,所以要执行算术运算需加[ ]$(( ))

eg

脚本内容:

#!/bin/bash

echo $[$1+$2]

执行脚本:

[root@www.bkjia.com ~]#/sum.h 4 5

9 

alias别名的查看与创建:

[root@www.bkjia.com ~]#alias  直接输入alias显示当前环境中的别名

[root@www.bkjia.com ~]# alias cdnet="cd /etc/sysconfig/networking" 给命令创建别名  

[root@www.bkjia.com ~]# cdnet 输入别名后实现与输入命令相同的作用

[root@www.bkjia.com networking]#  

[root@www.bkjia.com ~]#unset cdnet 撤销别名 

无论是直接定义的本地变量还是用export声明的环境变量,在重新登录或reboot之后都会消失。若想对其进行长久保存,需要在相关的配置文件中进行修改。 

相关的配置文档目录:

全局相关:

/etc/profile

/etc/profile.d/*

/etc/bashrc

局部相关(即每个用户有可以设定自己的一套配置)

~/.bash_profile

~/.bashrc 

profile类文件:设置环境变量;

设置某些登陆时就要运行的命令。

bashrc类文件:设置别名;

设置本地变量,和只对当前shell有效的命令。 

shell按照过程和应用次序可以分为:非交互式登陆式的shell和交互式登陆式的shell

非交互式登陆式的shell,启动系统时自动执行。

启动顺序为:~/.bashrc/etc/bashrc/etc/profile.d/*

交互式登陆式的shell,修要登录用户进入系统输入命令。

启动顺序为:/etc/profile/etc/profile.d/*~/.bash_profile/etc/bashrc 

eg:

通过修改配置文件实现用户登录进系统时候,屏幕显示字符串“Helloyou are root(当前用户的用户名)。” 

由于是对于每个用户alluser都有相同的配置,所以应该是全局变量/etc/profile,通过编辑器在文本的最后一行加入“ echo "hello,you are $USER." ”即可。

  • 1
  • 2
  • 3
  • 下一页

相关内容