shell变量运算与变量及重定向

一、变量运算

1.1、整数变量的运算

固定格式: expr 变量1 运算符 变量2 [运算符 变量3]…
常用运算符

+:前后需要空格
-:前后需要空格
*:需要添加转义符\
/:取除的整数
%:取余数
**:次方

在这里插入图片描述在这里插入图片描述

1.2 与自定义变量结合使用

在这里插入图片描述

1.3使用调用echo

在这里插入图片描述

1.31次方 $[]

在这里插入图片描述

1.32 $(())

在这里插入图片描述

1.33 let:无法直接输出答案,需要echo运算出结果
a++=a+1:是使用的a后,再对a进行加1
a–=a-1
++a=1+a:先把a加1,然后再使用a

在这里插入图片描述

1.34 bc 系统自带的计算器,处理整数

通常用于处理带小数的运算
在这里插入图片描述

1.4 环境变量
  1. 概念
    环境变量指的是处于运行需要而有linux系统提前创建的一类变量,用户不变的情况下,一直延用环境变量,使用env命令可以查看当前工作环境下的所有环境变量。
echo 环境变量  #查看单个环境变量
  1. 常见的环境变量
    $USER
    $UID
    $PWD
    $HOSTNAME
1.5 自定义变量变成环境变量

临时性: export 变量名;在不改变登录用户的情况下一直存在

bb=20
export bb   #直接在shell环境输入

在这里插入图片描述

永久:若需要改变用户时,变量仍存在,需要写入配置文件

vim /etc/profile   #环境变量配置文件
export  aa=10     #
source  /etc/profile  #重新读入配置文件 
echo $aa 

在这里插入图片描述

在这里插入图片描述

1.6echo $SHLVL #查看当前shell的层级*

在这里插入图片描述

1.7实操

实验要求:可以执行test.sh
给脚本文件赋予可执行权限,仍无法执行

chmod +x user.sh
ls

在这里插入图片描述

因为uesr.sh不在$PASH的目录里面,所以系统无法直接用,需要跟上绝对路径使用该脚本

pwd
echo $PATH

在这里插入图片描述

  1. 方法一:写入环境变量的配置文件
vim /etc/profile
PATH=$PATH:/root  #增加一行变量

在这里插入图片描述

  1. 方法二:临时加入环境变量
    在这里插入图片描述
1.8只读变量-readonly
readonly 脚本    #只读变量

赋值只读无法更改变量值,取消只读变量,只能退出exit,重新连接;或者更改shell变量.
在这里插入图片描述

1.9位置变量和预定义变量
  • 传递参数给到脚本内
$0:当前执行的脚本
$1:脚本的第一个参数
$2:脚本的第二个参数

实例
vim zaq.sh

在这里插入图片描述
在这里插入图片描述
实列
在这里插入图片描述

1.91 预定义变量

预定义变量是由Bash程序预先定义好的一类特殊变量,用户只能使用预定义变量,而不能创建新的预定义变量,也不能直接为预定义变量赋值。
预定义变量使用"$”符号和另一个符号组合表示

$#:表示命令行中位置参数的个数
$*: 表示所有位置参数的内容,这些内容当做一个整体
$@:表示所有列出位置参数,但是是以单个的形式列出
$?:表示前一条命令执行后的返回状态,返回值为0表示执行正确,返回任何非0值均表示执行出现异常
$0:表示当前执行的脚本或程序的名称
$$: 表示当前进程的进程号
$!: 上一个后台进程的进程号
$?:表示前一条命令执行后的返回状态,返回值为0表示执行正确,返回任何非0值均表示执行出现异常

在这里插入图片描述

在这里插入图片描述

1.92 查询变量
unset 变量名  #取消/清除/释放变量
set  #查看系统所有变量;包含自定义变量和环境变量

在这里插入图片描述

set | grep ZZZ:查询变量ZZZ

在这里插入图片描述

整数型变量

在这里插入图片描述

二、重定向

2.1交互式硬件设备
标准输入:从键盘输入,设定键盘为输入设备
标准输出:通过显示器输出到屏幕
标准错误:当我执行一个命令时,显示器会把错误信息输出到屏幕
2.2 重定向操作

在这里插入图片描述
重定向输出:>=1>;>>=1>>

在这里插入图片描述
在这里插入图片描述

  1. /dev/null:系统自带的黑洞系统,相当于垃圾桶;null:黑洞;/dev:设备
    在这里插入图片描述
  2. <:输入:把屏幕前的结果输入到指定文件内
    vim pass.txt
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值