Shell之环境变量.数学计算.重定向

  1. 环境变量
  2. shell数学计算
  3. 玩转文件描述符与重定向

 环境变量

环境变量也称为全局变量;可以在创建他们的shell及其派生出来的任意子进程shell中使用

环境变量可以分为自定义环境变量和bash内置的环境变量

环境变量可以在命令行中设置和创建,用户退出命令行时这些变量值就会丢失,想要永久保存环境变量,可以写在文件中

常用的系统自带的环境变量

[root@localhost  ~]# env                            //查看当前工作环境下的环境变量

HOSTNAME=localhost
SHELL=/bin/bash
TERM=xterm
CATALINA_HOME=/opt/tomcat7
HISTSIZE=100000
IPROAPP_BACKUP_HOME=/root/backup/iProApp/
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;

SUDO_USER=pstuser
SUDO_UID=1002
USERNAME=root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/jdk1.6/bin
MAIL=/var/spool/mail/pstuser
PWD=/home/pstuser
JAVA_HOME=/opt/jdk1.6
TOMCAT_SERVICE=tomcat7
LANG=en_US.UTF-8
SHLVL=1
SUDO_COMMAND=/bin/bash
HOME=/root
LOGNAME=root
CVS_RSH=ssh
LESSOPEN=||/usr/bin/lesspipe.sh %s
IPROAPP_HOME=/srv/iProApp
SUDO_GID=1001
G_BROKEN_FILENAMES=1
HISTTIMEFORMAT=%F %T 
_=/bin/env

[root@localhost  ~]# echo $USER                  //USER表示用户名称
root
[root@localhost  ~]# echo $HOME                 //表示用户的宿主目录
/root
[root@localhost  ~]# echo $LANG                 //表示语言和字符集
en_US.UTF-8
[root@localhost  ~]# echo $PWD                  //表示当前所在的工作目录
/home/pstuser
[root@localhost  ~]# echo $PATH                  //表示可执行程序的默认搜索路径
/sbin:/bin:/usr/sbin:/usr/bin:/opt/jdk1.6/bin

shell数学计算

 1.let命令的使用

let命令可以直接执行基本的算术操作

[root@localhost ~]# b=2

[root@localhost ~]# c=4
[root@localhost ~]# let result=c\*b
[root@localhost ~]# echo $result

[root@localhost ~]# let result=c/b
[root@localhost ~]# echo $result
2
[root@localhost ~]# let result=c+b
[root@localhost ~]# echo $result
6
[root@localhost ~]# let result=c-b
[root@localhost ~]# echo $result
2
[root@localhost ~]# let result=c-c
[root@localhost ~]# echo $result
0
[root@localhost ~]# let result=b-c
[root@localhost ~]# echo $result
-2

 let命令的其他用法如下:

自加操作:等同于let b=b+0

[root@localhost ~]# let b+=0
[root@localhost ~]# echo $b
2

自减操作:等同于let b=b-1
[root@localhost ~]# let b-=1
[root@localhost ~]# echo $b
1

 2.操作符[ ]的使用方法

[root@localhost ~]#a=7

[root@localhost ~]#b=2

[root@localhost ~]# result=$[ a + b ]
[root@localhost ~]# echo $result
9

 3.操作符(( )) 的使用方法

[root@localhost ~]# echo $(( 1 + 1 ))
2

4.expr的用法

[root@localhost ~]# expr 1 - 1
0
[root@localhost ~]# expr 1 + 1
2
[root@localhost ~]# expr 1 / 1
1
[root@localhost ~]# expr 1 \* 1
1
[root@localhost ~]# expr 1 \* 2
2

[root@localhost ~]# result=`expr 3 + 4`
[root@localhost ~]# echo $result
7

 以上这些方法不支持浮点数,只能用于整数运算

 在shell中做小数运算的(未用到便搜索一篇),可借鉴shell小数运算_好记性vs烂笔头的博客-CSDN博客_shell小数运算

 玩转文件描述符与重定向

文件描述符是与某个打开的文件或数据流相关联的整数。文件描述符0、1以及2是系统预留的

 0 —— stdin (标准输入) ----键盘

1 —— stdout(标准输出) ----显示器

2 —— stderr(标准错误) -----显示器

 重定向

类型

操作符

用途

重定向输入

   <

从指定的文件读取数据,而不是从键盘输入

重定向输出

> />>

将输出结果保存到指定的文件(覆盖原有内容)/ 将输出结果追加到指定的文件尾部

标准错误输出

2> /2>>

将错误信息保存到指定的文件(覆盖原有内容)/ 将错误信息追加到指定的文件中

混合输出

&>

将标准错误,标准输出的内容保存到同一个文件中

 重定向脚本内部的文本块

 EOF是END Of File的缩写;表示自定义终止符,那么EOF就不是固定的,可以随意设置别名,在   linux按ctrl-d就代表EOF

<< :标准输入来自命令行的一对分隔号的中间内容.

> :输出重定向,会覆盖之前的内容

>> :输出重定向,进行追加,不会覆盖之前内容

举例如下:

[root@localhost ~]# cat <<EOF >log.txt             
ip a
1234
> ifcon
> EOF
[root@localhost ~]# cat log.txt 
ip a
1234
ifcon

别名举例:

[root@localhost ~]# cat <<GGG >log.txt
> 12345
> llll
> iuyt
> GGG
[root@localhost ~]# cat log.txt 
12345
llll
iuyt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯雾652

你的支持是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值