shell类型、添加PATH环境变量、.bashrc、.profile、/etc/profile、/etc/environment

shell类型

使用 cat /etc/shells ,查看用户的可用shell。

使用 echo $SHELL ,查看当前正在使用的shell。

打开terminal终端,shell等待用户输入,并执行输入的操作命令,这种方式叫做交互式模式。

执行.sh脚本,不用等待用户输入,直接按文本顺序执行命令,这种方式叫做非交互式模式。

像通过SSH登陆,每次连接都需要预先输入用户名和密码,叫做登陆shell。

而像打开terminal终端,不需要输入用户名和密码,直接可用,叫做非登录shell。

PATH环境变量

我们在终端中输入的命令,最终都会递交给shell处理并运行。而shell支持的每一个命令,都会在PATH路径中找到对应的可执行文件。

扫描二维码关注公众号,回复: 12160964 查看本文章

仿照上面的样子,自行编译一个可执行文件,让终端可以识别该指令并运行。

发现用户只能通过 ./hello的方式去运行,并不能直接 hello去运行,原因就是没有将应用路径添加到环境变量中。

添加环境变量的几种方式:

1.添加当前用户的PATH环境变量,作用范围仅限于当前用户

修改用户目录下的 .bashrc ,末尾添加应用的绝对路径 export PATH=$PATH:/home/liang/c_program/test

修改后立即生效。

.bashrc文件可以设置环境变量的原因,是因为在 ~/.profile 中调用了 .bashrc 。

那么直接修改 ~/.profile,也是可以达到相同目的的。但修改后不会立即生效,需要重启系统,或重新登陆。

重启系统,或重新登陆。

2.添加所有用户的PATH环境变量,适用于所有用户

以管理员身份编辑 /etc/profile,末尾添加应用的路径,export PATH=$PATH:/home/liang/c_program/test

修改后不会立即生效,需要重启系统,或重新登陆。

重启系统,或重新登陆。

3.添加整个系统环境的PATH环境变量,适用于整个系统环境,与用户无关

以管理员身份编辑 /etc/environment,末尾添加路径,:/home/liang/c_program/test

重启系统,或重新登陆。

4.将可执行文件,直接复制到已有的PATH路径中

不是很推荐这种方式,会让文件空间变得拥挤,也不利于后期维护。

猜你喜欢

转载自blog.csdn.net/Mark_md/article/details/110224757