您现在的位置是:主页 > news > 网站百度排名怎么做快/网址查询网站

网站百度排名怎么做快/网址查询网站

admin2025/5/6 18:03:58news

简介网站百度排名怎么做快,网址查询网站,恐怖小说网站怎么做,wordpress后台隐藏1)预备知识:名词的解释 交互式运行(running interactively): 交互式运行就是在终端上输入指令运行,非交互式运行就是执行sh文件。 如何检测是否是交互式运行? 运行echo $PS1,如果是交互式运行则会输出一长…

网站百度排名怎么做快,网址查询网站,恐怖小说网站怎么做,wordpress后台隐藏1)预备知识:名词的解释 交互式运行(running interactively): 交互式运行就是在终端上输入指令运行,非交互式运行就是执行sh文件。 如何检测是否是交互式运行? 运行echo $PS1,如果是交互式运行则会输出一长…

1)预备知识:名词的解释
交互式运行(running interactively):
交互式运行就是在终端上输入指令运行,非交互式运行就是执行sh文件。

如何检测是否是交互式运行
运行echo $PS1,如果是交互式运行则会输出一长串字符,而非交互式,会输出#$$代表普通用户,#代表root。

交互式和非交互式在执行bashrc上的区别
非交互式运行是不会执行bashrc文件的配置内容的,这点需要注意一下,因为平常都是在终端上执行指令,很容易忽略这点:在bashrc中配置的东西,在执行sh文件的时候就失效了。

关于bash shell的启动
就是启动一个bash shell进程,通常可以理解为打开一个终端。需要注意的是如果你在终端输入sh后会发现自己又进入另一个shell命令行(这不是交互式运行,可以用echo $PS1验证),这时候其实fork了一个shell子进程(会复制一份原终端shell进程的全局变量),如果你在这个shell命令行又输入了一次sh,那么相当于fork的shell子进程又fork了一个shell子进程,这个时候就启动了三个bash shell进程。
输入exit或者ctrl-d可以退出当前shell,这里需要连续exit两次才可以回到原来的终端shell进程(这个时候就变回一个shell进程了)。

source sh(例如bashrc)的作用:
source一个sh文件,就是把sh文件的内容加载到本shell环境中执行。(可以理解为:执行sh是非交互式运行;在终端source sh文件,相当于在终端执行sh文件的指令,就是交互式运行了)

2)切入正题:profile和bashrc
配置环境变量一般在这两种文件中。接下来我们先聊聊它们在什么时候执行,后面再介绍这两种文件做了什么。

profile和bashrc是在什么时候执行?
profile在系统登录后执行,只在登录时执行一次,包括针对系统的/etc/profile和针对用户的~/.profile

bashrc在每次启动bash shell(打开终端或者在终端输入sh)后执行,包括针对系统的/etc/bash.bashrc和针对用户的~/.bashrc(这里注意一下我的ubuntu里是/etc/bash.bashrc,其它系统可能是/etc/bashrc)
查看命令如下:

cat /etc/profile
cat /etc/bash.bashrc
cat ~/.profile
cat ~/.bashrc

3)环境变量
如何配置环境变量?
shell中的环境变量分为全局变量和局部变量。

blogger="piligrimHui"  //这样定义的为局部变量
export blogger="pilgrimHui" //这样定义的为全局变量(export这个变量,则升级为全局变量)

局部变量:父进程定义的局部变量,子进程无法访问;子进程定义的局部变量,父进程无法访问。

全局变量:父shell定义的全局变量,子shell自身会复制一份父shell的全局变量,所以子shell对全局变量的操作不影响父shell的全局变量。子shell定义的全局变量,父shell不可用。

4)profile做了什么
登录shell随着用户的登录而启动,可以看作是第一个shell,后续的shell都是登录shell的子shell。

登录shell会执行针对系统的/etc/profile针对用户的~/.profile

为了让环境变量在后续的所有shell都能访问到,可以在这里配置全局的环境变量,但是注意profile只会在登录的时候执行一次,所以一般配置完后需要重新登录才能生效。(虽然可以自行source profile但是只在当前shell进程有效,这里的shell进程可以理解为在一个终端里,但是如果在终端里输入sh其实相当于开了两个shell进程,一个父进程一个子进程)

对于/etc/profile,首先会检查是否交互式运行(即$PS1不为空),如果不是则给PS1赋’#‘或'$',’#‘代表root用户,’$'代表普通用户。如果是交互式运行还要是否启动了bash shell,如果是则执行/etc/bash.bashrc对bash进行相关配置。然后会执行/etc/profile.d目录下的shell文件,有一些作为自启动程序,有些用来定义一些全局环境变量。

对于~/.profile,首先检查是否启动了bash shell,如果是则执行~/.bashrc对bash进行相关配置。然后重新设置了PATH(所以导致不同用户的环境变量PATH不一样)。

5)bashrc做了什么
当启动bash shell(打开终端)的时候会执行/etc/bash.bashrc和~/.bashrc。

对于/etc/bash.bashrc:首先检查是否交互式运行,不是就什么都不做。是的话,后面是一堆乱七八糟的操作。

对于~/.bashrc:首先检查是否交互式运行,不是就什么都不做。是的话,后面一堆乱七八糟的操作,其中有一些别名操作,我们平常用的ll就是在这里设置了,是ls -alF的别名。

因为每次启动shell进程这里都会执行,所以一般也可以在这后面配置环境变量。

最常见的配置方法是vim ~/.bashrc然后在最后几行加上环境变量的配置,然后source ~/.bashrc或者重启终端即可。

查看环境变量的方式

echo $PATH # 查看环境变量PATH

6)本文学习总结于这篇博客https://www.cnblogs.com/liaohuiqiang/p/7197581.html?utm_source=itdadao&utm_medium=referral
感谢博主的贡献!