Shell基础知识

(26) 2023-12-22 19:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Shell基础知识,希望能够帮助你!!!。

一.什么是Shell

1.Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户

图所示用户、shell和操作系统的关系:

Shell基础知识_https://bianchenghao6.com/blog__第1张

用户、shell和操作系统的关系

2.Shell也是一门编程语言,即shell脚本,shell是解释执行的脚本语言,可直接调用linux命令。

3.一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不相同的

Shell基础知识_https://bianchenghao6.com/blog__第2张

cat /etc/shells命令

二.Shell的种类

1.操作系统内核(kernel)与shell是独立的套件,而且都可被替换:

  • 不同的操作系统使用不同的shell;
  • 同一个kernel之上可以使用不同的shell。

2.常见的shell分为两大主流:

sh

  • Bourne shell(sh) ,Solaris,hpux默认shell
  • Bourne again shell(bash) ,Linux系统默认shell

csh

  • C shell(csh)
  • tc shell(tcsh)

3.查看使用Shell

Shell基础知识_https://bianchenghao6.com/blog__第3张

查看使用Shell

三.Shell环境定义

1.临时环境变量

所谓临时变量是指在用户在当前登陆环境生效的变量,用户登陆系统后,直接在命令行上定义的环境变量便只能在当前的登陆环境中使用。当退出系统后,环境变量将不能下次登陆时继续使用。

Shell基础知识_https://bianchenghao6.com/blog__第4张

临时环境变量

2.将环境变量永久生效

通过将环境变量定义写入到配置文件中,用户每次登陆时系统自动定义,则无需再到命令行重新定义。定义环境变量的常见配置文件如下:

/etc/profile 针对系统所有用户生效,此文件应用于所有用户每次登陆系统时的环境变量定义

$HOME_name/.bash_profile 针对特定用户生效,$HOME为用户的宿主目录,当用户登陆系统后,首先继承/etc/profile文件中的定义,再应用$HOME/.bash_profile文件中的定义。

3.系统预定义的环境变量

系统环境变量对所有用户有效,如:$PATH、$HOME、$SHELL、$PWD等等

如下用echo命令打印上述的系统环境变量:

Shell基础知识_https://bianchenghao6.com/blog__第5张

系统预定义的环境变量

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复