一 .概述

默认情况下, bash shell会用一些特定的环境变量来定义系统的环境。这些默认环境变量可以理解是上篇所讲的系统全局环境变量。

1.1 bash  shell支持的Bourne变量

Bourne shell 是 UNIX 最初使用的 shell。下面例举几个常用的变量名。

变量名

描述

HOME

当前用户的主目录

PATH

Shell查找命令的目录列表,由冒号分隔

PS1

Shell命令行界面的主提示符

PS2

Shell命令行界面的次提示符

如下图所示:使用echo 输出该变量名$PATH的值。值给出了shell查找命令会去的6个目录。优先最高的是/usr/local/bin 目录下。

下面是主提示符与次提示符:

1.2 bash shell 环境变量

下面只是随意列出了几个变量名。像BASH_SUBSHELL在介绍子shell中有讲过。

变量名

描述

BASH_SUBSHELL

当前子shell环境的嵌套级别。

BASH_VERSION

当前运行的bash shell 版本号。

HOSTNAME

当前主机名称

PWD

当前工作目录,对应内部命令小写pwd

下面随变演示一个,查看bash shell版本号:

1.3   PATH环境变量

上面讲到了PATH变量,它的作用是:当你在shell命令行中输入一个外部命令时。Shell必须搜索系统来找到对应的程序。 PATH环境变量定义了用于进行命令和程序查找的目录。上面列出了要查找的6个目录。如果命令或者程序的位置没有包括在PATH变量中,那就必须使用绝对路径来查找,否则shell是无法找到的。找不到,它会产生一个错误信息。

如下图所示:mysqld服务之所以能找到,是因为它存在于/usr/sbin目录下。Mysql的mssqldump工具包之所以能找到,是因为它存在于/usr/bin目录下。这二个目录都是存在于PATH全局变量中。而nginx服务命令却未找到。

在重新加载nginx配置文件时,会提示未找到命令

下图来查找下nginx 服务是存放于哪个目录下。通过下图知道,nginx服务存在于/usr/local/nginx/sbin 目录下。而PATH环境变量中没有该路径。所示“提示未找到命令…“。

如果想在虚拟目录任意位置操作nginx服务,又不想每次都用cd绝对路径定位。有二种方法:1是前面章节所学的软链接,把nginx的绝对路径能过软链接指定到PATH环境下的一个目录下。2是将nginx绝对路径添加到PATH目录中。

1.4  添加PATH环境变量

上面讲到了nginx服务, 下面演示将nginx服务的绝对路径,添加到PATH环境变量中。如下图所示:已将nginxx服务路径添加到了PATH环境变量中。

下面来试试,在任意的虚拟目录下,执行nginx服务。下面是随意在虚拟目录的根目录下查看nginx服务, 重新加载nginx服务,该命令也找到了,下图的错误是nginx进程没有启动,与要介绍的PATH没有关系。

总结: 当初学linux的时候,每当安装了一个服务时,在终端敲 bash执行该命令,经常提示未找到该命令。但有些服务又可以直接找到。现在明白了, shell查找命令会去指定的PATH环境目录下查找。当有些服务安装后,该服务的bin目录并没有在PATH环境目录中。

注意:对于PATH变量的修改,当退出终端(exit)或重启系统时会失效。后面介绍如何永久保持环境变量的修改效果。

【目录】linux 编程

随笔分类 - linux 编程 Linux编程 24 shell编程(结构化 if [ condition ] 数值比较,字符串比较) 摘要: 一.概述 接着上篇讲的结构化命令,最后讲到了test命令 ...

Linux编程之变量

Bash变量与变量分类 变量命名规则 变量名必须以字母或下划线打头,名字中间只能由字母.数字和下划线组成 变量名的长度不得超过255个字符 变量名在有效的范围内必须是唯一的 在Bash中,变量的默认类 ...

shell编程之BASH变量(2)

变量命名规范 在bash中,变量的默认类型都是字符串型,定义 name = 'kk' 变量分类 用户自定义变量.变量自定义的 环境变量:这种变量中主要保存的是和系统操作环境相关的数据.变量可以自定义, ...

LINUX中查看、添加、删除PATH以及永久添加PATH

1.查看PATH变量 echo $PATH 会出现: 路径1:路径2:路径3 2.添加PATH变量 export PATH=$PATH:新添加的路径 用此方法添加的PATH,在关闭或者重启LINUX后 ...

Linux编程简介

Linux编程可以分为Shell(如BASH.TCSH.GAWK.Perl.Tcl和Tk等)编程和高级语言(C语言,C++语言,java语言等)编程,Linux程序需要首先转化为低级机器语言即所谓的二 ...

《Linux命令行与shell脚本编程大全》 第六章环境变量

很多程序和脚本都通过环境变量来获取系统信息.存储临时数据和配置信息. 6.1 什么是环境变量: bash shell用一个叫环境变量(environment variable)的特性来存储有关shel ...

Linux编程 21 shell编程(环境变量,用户变量,命令替换)

一.概述 这篇介绍shell的变量使用,跟其实语言一样,都有声明变量,使用变量,在shell中变量允许你临时地将信息存储中shell脚本中,以便和脚本的其他命令一起使用. 1.1 环境变量 在前面章节 ...

Linux编程 11(shell全局环境变量与局变环境变量)

一.概述 在linux中,很多程序和脚本都通过环境变量来获取系统信息,存储临时数据,配置信息.环境变量是指用来存储有关shell会话和工作环境信息,允许你在内存中存储数据,以便程序或shell中运行的 ...

环境变量—《linux命令行与shell脚本编程大全》

环境变量部分: 1.查看全局变量:printenv/env 2.显示单个环境变量的值:echo 如echo $HOME 3.显示为某个特定进程设置的所有环境变量:set 4.设置全局变量:创建局部环境 ...

随机推荐

【TJOI&HEOI2016】【Bzoj4551】树

这道题是可以用树链剖分来做的,但其实有比它更加简单的做法--并查集. 可以想到,这类题的一种常见做法是离线处理,先全部读入,再从后往前处理,每次遇到标记操作,就把这个点的标记次数减一,到零以后就把这个 ...

winform常用的属性(listview),常用容器(二者结合)

ListVies控件主要用于展示数据(非常实用和重要的控件) FullRowSelect:设置是否行选择模式.(默认为false) (开启之后一下选中一行数据) ___________________ ...

xib的UIScrollView自适应高度

1.首先,我们先把这个size classes关了(需要使用的童鞋无视掉,也无视掉我的工程名,这是我弄高德地图创建的工程) 2.添加一个scrollview上去,设置上下左右约束为0 3.然后搞一个v ...

AlwaysOn可用性组测试环境安装与配置(一)--SQL群集环境搭建

一.测试环境介绍 1. 宿主使用工作站(HYPR-V)基本配置如下: 处理器:Intel(R) Core(TM) i5-4470 CPU @ 3.20GHz 3.20GHz 内存(RAM):8.00G ...

POJ C Looooops

Description A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; ...

php分页类的二种调用方法(转载)

linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...相关推荐

  1. linux 系统业务迁移,记录一次linux系统迁移过程

    就在最近,终于为自己的电脑加装了固态.在装完固态之后,首先面临的问题就是如何将原先安装在机械硬盘上的linux系统迁移到固态上.还要考虑后续配置的问题. 本文主要讲述在迁移Linux系统到新的固态硬盘 ...

  2. 路由器 刷 linux系统版本,一个小型的无线路由器 Linux 系统OpenWRT[转]

    一个小型的无线路由器 Linux 系统OpenWRT分类:电脑技术 » linux应用    出处:网络   OpenWRT - (http://www.openwrt.org) 开发板: 十几种市面 ...

  3. Linux系统防CC攻击自动拉黑IP增强版Shell脚本

    Linux系统防CC攻击自动拉黑IP增强版Shell脚本 文章目录 一.Shell代码 二.执行脚本 三.效果测试 四.附加说明 前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原 ...

  4. Linux系统防CC攻击自动拉黑IP增强版(Shell脚本)

    这篇文章主要介绍了Linux系统防CC攻击自动拉黑IP增强版(Shell脚本),需要的朋友可以参考下 前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存 ...

  5. 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全

    如何查看linux系统下的各种日志文件 linux 系统日志的分析大全 日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 ...

  6. 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...

  7. linux如何运行verilog,linux系统下ncverilog的详细命令linux系统下ncverilog的详细命令.doc...

    linux系统下ncverilog的详细命令linux系统下ncverilog的详细命令 ncverilog: 08.10-p002: (c) Copyright 1995-2008 Cadence ...

  8. linux系统组成之小型RedHat little linux制作二

    本篇是在上篇"linux系统组成之小型RedHat little linux制作一"的基础上对微型小系统进一步完善,使其实现关机.重启等功能 ⑴.通过脚本使其微型系统实现关机.重启 ...

  9. linux系统 ghost吗,GHOST能于LINUX系统备份吗?

    使用Ghost软件来实现备份和恢复Linux系统: 1.首先用 "雨林木风 Ghost XP SP3 纯净版 Y6.0" 光盘进行引导,并使用其中的PQ软件对硬盘进行分区,划分出一 ...

最新文章

  1. 【原创】TLV5618芯片驱动程序
  2. 分步学习Struts(三) 原理分析
  3. Java并发编程(4):守护线程与线程阻塞的四种情况
  4. 福师计算机应用基础在线作业二及答,福师《计算机应用基础》在线作业二 下列软件中属于应用软件的是.docx...
  5. uniapp 仿钉钉考勤统计页面的日历组件,通过日历展示每日考勤打卡情况,支持在日历上打两种不同类型的点,大致适配各种分辨率
  6. 逐步解析:杨辉三角(C语言)
  7. torchvision resize 指定生成图片的尺寸
  8. Qt:QListWidget的item上实现右键菜单
  9. Java简单登陆界面实现
  10. 乔布斯传记概览:乔布斯18个让人着迷的地方
  11. 黑马程序员python入门学习笔记
  12. 小米平板4刷 linux,小米平板4_刷开发版_获取root
  13. Python数据分析之股票数据
  14. Cadence PVS (Physical Verification System) rule 语法详解
  15. mosquitto1.6.2 Error: A TLS error occurred.(解决)
  16. Python从入门到实战,我觉着拥有这三本书很有必要
  17. 二进制1010.0101转换为十进制
  18. 利用python在网上接单赚钱,兼职也能月入过万,还不赶紧学起来!
  19. 22061周市场回顾
  20. 近红外光谱特征选择、特征提取区别及稀疏表示

热门文章

  1. PHP语言弹窗图片,PHP_php中随机显示图片的函数代码,例如博客的展示窗 复制代码...
  2. 【转】自然语言系列学习之表示学习与知识获取(三)知识图谱
  3. SparkSQL之关联mysql和hive查询
  4. 推荐6个好用到爆的Pycharm插件
  5. 这些Python好书,助你开发一臂之力
  6. java中时间入数据库格式转换_数据库中字段类型为datetime,转换成java中的Date类型...
  7. html table导出excel 插入图片_前端 Table 用 JS 导出EXCEL(支持大量数据,保留报表格式) - pensive2019...
  8. java注解如何设置自增长_java如何自定义注解(一)
  9. java通用解析excel_java读取简单excel通用工具类
  10. python运行excel高级筛选怎么用_懂点EXCEL就行!教你利用Python做数据筛选(上)...