跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

echo $PATH 输出当前PATH环境变量

由 hrs, 9 八月, 2020

echo $PATH 显示当前PATH环境变量,该变量的值由一系列以冒号分隔的目录名组成。

 如:/usr/local/bin:/bin:/usr/bin。当我们执行程序时,shell自动跟据PATH变量的值去搜索该程序。

比如我们现在的工作目录是根目录/ ,有一个程序sunrise在/bin/目录下,我们可以在命令行输入/bin/sunrise 这样来执行它,还可以直接输入sunrise,这时shell会自动去寻找sunrise这个程序所在的完整路径,找到之后才会去执行该程序。

shell在搜索时先搜索PATH环境变量中的第一个目录,没找到再接着搜索,如果找到则执行它,不会再继续搜索。 注意:当前工作目录 ./ 一般并未在搜索范围之列,也就是PATH环境变量的值中并不包含./这个当前工作目录。

为什么一般不能加入这个当前工作目录呢?主要原因在于安全问题。

试想,一个evil 用户在自己的家目录/home/evil/中放了一个名字叫ls的程序,当root用户或其它用户来到这个/home/evil/目录时,想查看这个目录中有些啥子文件,于是执行ls命令,这时如果./目录在PATH环境变量中且搜索时先搜索这个./目录的话,则执行到的程序是/home/evil/ls而不是/bin/ls程序,这样就会造成极大地安全问题。

所以我们要避免把./目录加入PATH环境变量之中,不要图一时方便而铸成大错哦!执行当前工作目录中的 program 时还是老老实实的 ./program 这样执行吧!

 使用范例: [tito ~]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin [tito ~]$ PATH=$PATH:/home/tito/bin #添加/home/tito/bin到PATH环境变量 [tito ~]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tito/bin

  • 登录或注册以发表评论
内容类型分类
操作系统与运用
文章归类
Linux

文章标签

  • Linux

评论

文章标签

CSS
Excel
ubuntu
php
vim
五笔
VPN
Linux
command
drupal 8
HTML
drupal 7
centos
composer
Mysql
模块(module)
drush
Drupal
JavaSrcipt
apache
英语
drupal 9
nerdtree
SEO
network
果树种植
surround
drupal10
主题(theme)
二进制
更多

相关文章

  • linux-firmware 是什么,有哪些作用?
  • journalctl 的使用和简介
  • linux 网络检查命令
  • 在Linux系统中如何查看显卡驱动
  • 在drupal 使用composer一次性安装多个模块
  • composer update 命令的参数列表
  • Composer 的常用命令
  • diff 是什么?
  • 如何在 CentOS 7 上使用 Certbot 独立模式检索 Let's Encrypt SSL 证书
  • certbot 安装免费ssl 证书
RSS源

友情链接 网站地图 版权信息 联系我们 网址导航 社区

Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号