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

Shell编程基础(三)环境变量 位置变量 系统内置变量

环境变量 &

    • 环境变量
      • 环境变量范围
        • 父子进程之间有效
        • 指定用户有效
        • 所有用户有效
    • 位置变量
    • 系统内置变量

环境变量

在脚本种直接定义的变量,只能在当前shell进程中使用
若想要在其他shell进程中使用,可以将变量声明为 环境变量

export 变量名 :用于导出已有变量到环境变量
export 变量名=变量值:直接声明一个新的变量为环境变量
注意:命令行 执行 export 声明的环境变量,只在当前shell 以及 其子shell中有效,其他不相关的shell进程中无效

要想环境变量全局有效,需在指定的文件中定义环境变量。

环境变量范围

父子进程之间有效

在当前进程中,通过 export 指定的环境变量,只在当进程及其子进程中有效

指定用户有效

在用户目录(cd 或者 cd ~ 可切换到当前用户目录)下有个文件 ==.bash_profile==这里面声明的环境变量,只对当前用户有效。
如 root用户的目录为 /root
自定义的用户(kalpana)目录为**/home/kalpana**

其原理是,开机登录时会加载这个脚本。因此也可以在这个脚本里面做一些,开机的初始化操作(自启动应用等)。

所有用户有效

针对所有用户都有效的环境变量可以在 /etc/profile 下进行声明。

原理同上,只不过这个文件是所有用户在开机时,会加载这个文件。
同样这里面可以设置一些初始化操作。

位置变量

我们在执行命令,脚本时,有时会传参,那么在脚本内,就可以通过
$ + 序号的方式获取相应位置的参数了。
$0 代表的是命令本身,1开始取参数

位置变量和read 交互式输入变量都可以达到类似的效果,但是read可以给出提示语更加直观

系统内置变量

$0 : 脚本名称
$#:参数个数;这里可以联想到 字符串长度 ${#str} 和 数组长度 ${#arr[@/*]}
$?:脚本返回值 0代表成功
$$:当前shell进程id
$@:参数列表
$ *:参数拼接的字符串

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

相关文章:

  • P5718 【深基4.例2】找最小值
  • C++——STL容器之list链表的讲解
  • 使用for循环输出左上三角、右上三角、左下三角、右下三角、上下三角
  • CAXA中.exb或者.dwg文件保存为PDF
  • 华为刷题:HJ3明明随机数
  • ENVI提取NDVI与植被覆盖度估算
  • Arm 扩大开源合作伙伴关系,加强投入开放协作
  • Kubernetes 的核心概念:Pod、Service 和 Namespace 解析
  • 互联网搜索的学习笔记
  • vue事件修饰符
  • 【安全】web中的常见编码浅析浏览器解析机制
  • Ceph概述、准备ceph部署环境、cephadm概述、安装Ceph集群、ceph块存储、存储池、rbd镜像管理、ceph客户端配置
  • python selenium爬虫自动登录实例
  • el-cascader 数据的回显
  • Java 版 spring cloud +spring boot 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单
  • 即时通信的方法和webSocket的具体使用
  • HTML 速查列表
  • Hadoop集成Hive
  • MyBatis查询数据库
  • RVM问题记录 - Error running ‘__rvm_make -j10‘
  • VIS for AI :ConvNetJS
  • 【Python入门系列】第二十篇:Python区块链和加密货币
  • MySQL 服务器的调优策略
  • Educational Codeforces Round 152 (Rated for Div. 2)
  • CSPM难度大吗?对比pmp怎么样?
  • Android.mk中的LOCAL_OVERRIDES_PACKAGES用法
  • Matlab遍历文件及直方图统计
  • 为什么要格式化硬盘?硬盘格式化了数据怎么恢复
  • PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】
  • antDesignMobile中Switch配合Form使用无效解决方案