侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Linux----shell

2023-11-22 星期三 / 0 评论 / 0 点赞 / 65 阅读 / 3952 字

shell不同于其他程序。除了解读元字符之外,它还代表一个环境,用户可以对其进行定制,以满足自己的需要。这些需要包括:设计快捷方式、控制shell变量、设置启动脚本。 [root@min ~]# e

 shell不同于其他程序。除了解读元字符之外,它还代表一个环境,用户可以对其进行定制,以满足自己的需要。这些需要包括:设计快捷方式、控制shell变量、设置启动脚本。

[root@min ~]#  echo $SHELL   //正在使用的哪种shell/bin/bash[root@min ~]# chsh           //将C shell作为登录shell的一个子shell来运行Changing shell for root.New shell [/bin/bash]: exit     //终止C shell,返回登录shellchsh: shell must be a full path name.[root@min ~]# 

shell变量有两种——局部变量和环境变量。PATH、HOME和SHELL是环境变量。之所以这样称呼它们,是因为它们在用户的整个环境中都可以使用,包括运行shell脚本的子shell、邮件命令和编辑器。局部变量在作用域上受到更大的限制。

[root@min ~]# DOWNLOAD_DIR=/home/test/download[root@min ~]# echo $DOWNLOAD_DIR /home/test/download[root@min ~]# bash     //创建一个子shell[root@min ~]# echo $DOWNLOAD_DIR  //DOWNLOAD_DIR 在子shell中是否可见?                                   //不能见[root@min ~]# echo $PATH    //但PATH可见/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@min ~]# exit   //终止子shell,返回登录shellexit

DOWNLOAD_DIR是一个局部变量;它的值不能供子进程使用。

set语句显示当前shell中的所有可用变量,但env命令仅显示环境变化。

环境变量名用大写字母定义,env是一个外部命令,在子进程中运行。它仅列出那些从其父进程(shell)继承而来的变量。但set是shell的内置命令,会显示当前shell中的所有可见变量。set将显示DOWNLOAD_DIR的值,但env不会。

export :创建环境变量

使DOWNLOAD_DIR能够在所有子进程中都可见,需要将其导出,用shell的export来实现变量继承。export就是将局部变量转变为环境变量;

export DOWNLOAD_DIR

export DOWNLOAD_DIR=/home/test/download

常见环境变量:

变量 意义

HOME

主目录---用户在登录时所在的目录
PATH shell在查找一条命令时搜索的目录列表
LOGNAME 用户的登录名
USER 用户的登录名
MAIL 用户邮件的的绝对路径名
MAILCHECK 接收邮件的检查间隔
MAILPATH shell检查是否有邮件到达的邮箱列表
TERM 终端的类型
PWD 当前目录的绝对路径名
CDPATH 在与非绝对路径名一起使用时,cd查找的目录列表
PS1 主要提示符字符串
PS2 辅助提示符字符串
SHELL 用户的登录shell,以及由拥有shell临时出口(escape)的程序调用的一个shell

 

命令查找路径(PATH) PATH 列出了shell在其中查找可执行命令的目录,我们经常对PATH进行重新赋值,使其中包含一个或多个目录。要将/usr/game 添加到PATH列表,可以将原有值与新值串联在一起,重新为这个变量赋值:

 

 

 

 

 

 

 

 

 

 

 

广告 广告

评论区