shell的变量以及标准设备文件

1 篇文章 0 订阅

shell变量概念
shell变量是shell程序在内存中存储信息的容器
shell变量的使用
shell变量的设置
eg: COLOR=red (赋值符号不能有空格
shell变量的引用,注意$和COLOR变量之间不能有空格,

 echo $COLOR 
 echo ${COLOR}

shell中”{}”的作用,

echo ${COLORBALL}
echo $COLORBALL
echo $(COLOR}BALL

需要注意上述三个的区别,1和2没有区别,都表示输出COLORBALL变量的值,3会输出COLOR变量的值和BALL做连接之后的结果。
自定义变量的概念:
自定义变量是用户自己命名的变量
自定义变量不得与系统命名的变量命名
自定义变量的使用
自定义变量的设置
eg: Day=Friday
自定义变量的引用

eg: echo "totay is ${Day}"

环境变量是指系统中用来环境存储信息数据的变量,通常系统配置初始提供

环境变量的使用
环境变量的使用方法和自定义变量一致,只是变量命名被约束(名称通常是大写的),env可以查看系统环境变量

环境变量的到处和保存
用export命令可以将当前shell环境中的环境变量到处到子shell中(是由当前shel派生出来的shell),本地用户环境变量可以保存在配置文件中~/.bashrc,供固化的长期使用,服务器全局的环境变量/etc/.bashrc,/etc/profile

PATH变量的概念:环境变量PATH存储系统命令的所在路径,通常为绝对路径,对于系统命令搜寻提供了便利。
PATH变量的使用,下列示例意思是将/home/user/svn/bin目录添加到PATH环境变量中:

export PATH=/home/user/svn/bin:$PATH

PATH变量的引用
eg:echo $PATH
sbin目录,对于sudo用户使用的命令目录,bin目录,普通权限用户使用的命令目录。

其他环境便来那个的使用
PS1存储命令行前的提示符
PS2手动换行符

预定义变量的概念
1.预定义变量是由shell程序提供的内置变量
2.预定义变量用来存储shell程序运行过程中的状态信息
3.预定义变量无需设置,只能引用

预定义变量的使用
$$存储当前进程的进程号信息
$0存储当前进程进程名信息
$?存储当前命令的返回值信息
$!存储最近一个后台进程的进程号信息

位置变量的概念
1.位置变量是由shell程序提供的变量,可用来引用传递程序的参数
2.位置变量通过该程序参数在传递给程序时的位置顺序来引用
位置变量的使用
1. 位置变量 $1, $2, $3, ..., $9
2. 位置变量的切取命令shift

标准设备文件
标准输入文件stdin
1.标准输入的设备文件为/dev/stdin
2.对应的文件描述符为0
标准输出文件stdout
1.标准输出的设备文件/dev/stdout
2.对应的文件描述符为1
标准错误文件stderr
1.标准错误的设备文件为/dev/stderr
2.对应的文件描述符为2

管道的概念
1.管道是系统提供的供命令见传递信息的设备
2.管道的信息传递时由前往后单向的传递
3.管道仅将前一个命令程序的标准输出传递给后一个命令
管道的使用
shell中使用” | “来进行管道操作
eg:ps aux | grep "bash"

管道允许被多级使用,即管道的级联
eg:ps aux | grep "bash" | grep -v "grep"
标准错误不能通过管道传递,只能传递标准输出

重定向的概念
1.重定向是指将原本关联输入或输出到标准设备文件的信息重新定向到指定的磁盘文件的举措
输出重定向的使用
1.标准输出重定向
a) eg: ls -l test.* > output.txt
将命令ls -l test.*的标准输出重定向输出到output.txt(如果文件不存在会重新创建,如果存在,会清空文件)。
b) eg: ls -l test.* >> output.txt
将命令ls -l test.*的标准输出重定向输出到output.txt(如果文件不存在会重新创建,如果存在,将输出添加到文件末尾)。

2.标准错误重定向
a) eg: ls -l test.* 2> output.txt
将命令ls -l test.*的标准错误重定向输出到output.txt(如果文件不存在会重新创建,如果存在,会清空文件)。
b) eg: ls -l test.* 2>>output.txt
将命令ls -l test.*的标准错误重定向输出到output.txt(如果文件不存在会重新创建,如果存在,将输出添加到文件末尾)。

  1. 输入重定向
    a) 标准输入重定向
    eg: cat < output.txt
    b)标准输入重定向之here document技术
eg: 
cat << EOF
>...  // 文档输入
>EOF
  1. 合并输出重定向的使用
    a) 合并重定向是指合并标准输出和标准错误的信息输出
    b)使用合并重定向符”&”即可实现合并输出
    eg: ls -l test.* filenotfount &> output.txt
    上述命令示例,将命令ls -l test.* filenotfound的标准输出以及出错输出重定向到output.txt(如果没有这个文件,则创建,如果存在,则先清空文件内容,在写入到文件中)中。
    eg: ls -l test.* filenotfount &>> output.txt
    上述命令示例,将命令ls -l test.* filenotfound的标准输出以及出错输出重定向到output.txt(如果没有这个文件,则创建,如果存在,则保留文件现有内容,将重新向输出写到文件末尾)中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值