当前位置: 首页 > news >正文

RHCE----Shell变量和引用

1.变量的类型及含义

变量类型: 1、自定义变量: 在当前的shell命令行界面设置的变量是局部变量   
例子:
num=1
name=zhangsan 2、环境变量全局变量,通过export 导出后的局部变量是全局变量 
、bash的初始化文件:/etc/profile:存放一些全局变量~/.bash_profile:每个用户都可以使用该文件输入专用于自己使用的shell信息~/.bashrc:该文件包含专用于你的bash shell的bash信息/etc/bashrc:为每一个运行bash shell的用户执行此文件
、bash内置环境变量:PATH:命令的搜索路径,以冒号作为分隔符HOME:用户的家目录的路径,是cd命令的默认参数COLUMNS:命令行编辑模式下可使用命令的长度HISTFILE:命令历史的文件路径HISTFILESIZE:命令历史中包含的最大行数LOGNAME:当前用户的名字$HELL:当前使用的shellPWD:当前的工作目录
例子: 
export num=1 
export name=zhangsan3、位置变量: 即按照传入参数的位置信息,输出 
例子: cat a.sh  $1  $3 $6 bash a.sh 1,2,3,4,5   4、预定义变量: 系统定义的变量,相当于内置的命令 
例子:  $0  # 显示当前脚本文件名 $*  # 全返 $@  # 单返 $#  # 返回参数的个数 $$  # 当前进程的PID $!  # 上一个后台进程的 $?  # 返回上一个命令的执行状态  5、只读变量将变量配置成为 readonly 类型,该变量不可被更改内容,也不能 unset -
定义方法:
一:  readonly [-fap] [变量定义]  -f 定义只读函数 -a 定义只读数组变量 -p 显示系统中全部的变量列表
二:  declare – r 变量定义
取消变量:
unset  选项: -f 取消的是函数 -v 取消的是变量、
用6种方法计算长方形面积
l=10
w=5
S=$(($l * $w))
echo "长为$l,宽为$w的长方形面积为$S"[root@localhost ~]# bash a.sh
长为10,宽为5的长方形面积为50

echo "长为 10,宽为 5的长方形面积为 $((10 * 5)) "  
[root@localhost ~]# bash a.sh
长为 10,宽为 5的长方形面积为 50  
echo "scale=2;10 * 5 " | bc 
[root@localhost ~]# bash a.sh
50

                                          

echo "10 5" | awk '{print $i * $2}' 
[root@localhost ~]# bash a.sh
50
expr 10 \* 5 
[root@localhost ~]# bash a.sh
50
let S=10*5
echo "长为 10,宽为 5的长方形面积为 $S" 
[root@localhost ~]# bash a.sh
长为 10,宽为 5的长方形面积为 50

    
http://www.lryc.cn/news/69530.html

相关文章:

  • 【Redis】聊一下缓存雪崩、击穿、穿透、预热
  • 全景描绘云原生技术图谱,首个《云原生应用引擎技术发展白皮书》发布
  • 【Python共享文件】——Python快速搭建HTTP web服务实现文件共享并公网远程访问
  • Mysql数据库分库分表
  • SpringBoot热部署插件原理分析及实战演练
  • 【C++ 入坑指南】(10)函数
  • P2233 [HNOI2002]公交车路线
  • java入门-W11(K168-K182)网络编程
  • 距离6月18日DAMA-CDGA/CDGP认证考试还有31天,报名从速
  • PO、VO、DAO、BO、DTO、POJO区分
  • MobPush Flutter平台插件
  • 机器学习面试题库:K-means
  • Linux:文本三剑客之awk
  • 如何借助Kafka持久化存储K8S事件数据?
  • 一种基于非均匀分簇和建立簇间路由的算法的无线传感器网络路由协议(Matlab代码实现)
  • usb摄像头驱动打印信息
  • 银行半结构化和无领导群面注意事项
  • 今天公司来了个拿 30K 出来的测试,算是见识到了基础的天花板
  • SSM整合(单元测试、结果封装、异常处理)
  • C++ list
  • 【JavaScript】ES6新特性(2)
  • CST-FSS/周期谐振单元的仿真
  • 重新理解RocketMQ Commit Log存储协议
  • ROS 开发环境搭建(虚拟机版本)(一)
  • vue3做项目是需要注意的事项
  • docker日志轮转
  • 论文阅读_音频压缩_Encodec
  • 第06章_多表查询
  • 自学黑客(网络安全)有哪些技巧——初学者篇
  • CMD与DOS脚本编程【第四章】