环境变量与用户自定义变量的区别

  • 环境变量是全局变量,用户自定义变量是局部变量。
  • 用户自定义变量只在当前的 shell 中生效,环境变量在当前 shell 和这个 shell 的所有子 shell 中生效。
  • 用户可以自定义环境变量,但对系统生效的环境变量名和变量作用是固定的。

用户自定义环境变量

调用使用【$变量名】

  • export 变量名=变量值
  • 或者
  • 变量名=变量值:先声明
  • export 变量名:再export

小结:export的变量在当前 shell 和这个 shell 的所有子 shell 中生效,自定义的变量只在当前shell中生效

查看环境变量

  • set 查看所有变量
  • env 查看环境变量

删除环境变量

  • unset 环境名(即变量名)

常见的系统环境变量

  • HOSTNAME:主机名
  • SHELL:当前的 shell
  • TERM:终端环境
  • HISTSIZE:历史命令条数
  • SSH_CLIENT:当前操作环境是用 ssh 连接的,这里记录客户端 ip
  • SSH_TTY:ssh 连接的终端是 pts/0
  • USER:当前登录的用户
  • PATH:系统搜索命令的路径

要想直接通过脚本名执行自己的脚本

即将脚本路径添加到PATH中,或者将脚本放到PATH中任意目录下

  • 将脚本拷贝至 PATH 中的任意目录下(不建议这样做),例如:
    $ cp hello.sh /bin/
  • 将脚本所在目录添加到 PATH 变量中,例如:
    $ PATH="$PATH":/root/sh
  • 系统重启后失效

PS1:命令提示符设置

  • \d:显示日期,格式为"星期 月 日"
  • \H:显示完整的主机名
  • \t:显示 24 小时制时间,格式为"HH:MM:SS"
  • \A:显示 24 小时制时间,格式为"HH:MM"
  • \u:显示当前用户名
  • \w:显示当前所在目录的完整名称
  • \W:显示当前所在目录的最后一个目录
  • \$:提示符。root 用户为"#",普通用户为"$"

Shell系列(10)- bash环境变量(3)的更多相关文章

  1. [转帖]linux bash环境变量简单总结

    linux bash环境变量简单总结 来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 需要简单学习一下. 其实 我都是直接放一个 .sh文件到 ...

  2. 【linux草鞋应用编程系列】_2_ 环境变量和进程控制

    一. 环境变量     应用程序在执行的时候,可能需要获取系统的环境变量,从而执行一些相应的操作.     在linux中有两种方法获取环境变量,分述如下.   1.通过main函数的参数获取环境变量 ...

  3. bash环境变量读取顺序

    bash环境变量读取顺序: 交互式登录的用户: /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bas ...

  4. 利用SHELL脚本修改当前环境变量

    转自http://www.chinaunix.net/old_jh/7/21485.html 1.背景 ---- 在日常的工作中,为了设置一大批环境变量,我们通常编辑了一个shell程序,包含了多个的 ...

  5. jenkins添加环境变量 ,win 10的 环境变量如下,win7 就是不加也可以运行,不报 “python 不是内部命令 ” 的错误。

    jenkins 添加win 10的 环境变量如下,win7 就是不加也可以运行,不报 “python 不是内部命令 ” 的错误,暂时不知道怎么回事.    jenkins这样添加环境变量 .

  6. Bash基础——Shell脚本内部常用环境变量

    $@和$*区别 不加引号的时候没区别 #! /usr/bin/bash function print_args_at { printf "%s\n" $@ echo $@ } fu ...

  7. linux bash环境变量简单总结

    来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 一.环境变量简介 Linux是一个多用户的操作系统.每个用户登录系统后,都会有一个专用的运行环境 ...

  8. shell脚本--编写CGI代码(shell结合html)以及环境变量

    实现shell和html标签混合的方式编写代码: 推荐  初始CGI ,看完大概之后,大概对cgi有个大体的印象.下面是编写混合代码的示例: #!/bin/bash #index.cgi echo & ...

  9. 『忘了再学』Shell基础 — 13、环境变量(一)

    目录 1.用户自定义的环境变量 (1)环境变量设置 (2)查询自定义环境变量 (3)删除自定义环境变量 2.系统自带的环境变量--PATH环境变量 (1)PATH环境变量 (2)PATH环境变量的作用 ...

随机推荐

  1. spring security整体流程

    spring-security原理 图片中各个类的作用: 1JwtUser类:实现Springsecurity的UserDetails类,此类必须有三个属性 private String userna ...

  2. 【原创】Java内存攻击技术漫谈

    前言 Java技术栈漏洞目前业已是web安全领域的主流战场,随着IPS.RASP等防御系统的更新迭代,Java攻防交战阵地已经从磁盘升级到了内存里面. 在今年7月份上海银针安全沙龙上,我分享了< ...

  3. epoll水平/边缘触发模式下阻塞/非阻塞EPOLLOUT事件触发条件及次数

    在IO多路复用技术中,epoll默认的事件触发模式为Level_triggered(水平触发)模式,即当被监控的文件描述符上有可读/写事件发生时,epoll_wait()会通知处理程序去读写.如果这次 ...

  4. 一文搞懂RPC原理

    RPC原理解析 什么是RPC RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.R ...

  5. SQL 练习23

    查询男生.女生人数 SELECT Ssex,COUNT(Ssex) 人数 from Student GROUP BY Ssex

  6. pycharm使用Djiago创建第一个web项目

    安装PyCharm专业版(注意社区版创建Djiago需要配置,比较麻烦) 创建Djiago项目点上 1.Inherit glocal site-packages(不然pycharm不去下载Djiago ...

  7. vue 报错http://eslint.org/docs/rules/xxxxx

    vue 对语法的要求过于严格所以编译的时候报下面这个错误 解决办法: bulid文件夹 -> webpack.base.conf.js 找到下面的代码: module: { rules: [ / ...

  8. C#中的集合类

    集合相当于容器,用于将一系列相似的项组合在一起. 集合可以分为泛型集合类和非泛型集合类. 多数集合类都是派生自ICollection.IComparer.IEnumerable.IList.IDict ...

  9. 二:Servlet简介

    一.Servlet简介 1.什么是Servlet Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是 ...

  10. Java之Apache Commons-IO使用精讲

    Commons IO是针对开发IO流功能的工具类库.主要包括六个区域: 工具类--使用静态方法执行共同任务输入--用于InputStream和Reader实现输出--用于OutputStream和Wr ...