/etc/profile.d/下是否只能识别 .sh 的脚本?

2019-10-11 0 条评论 190 次阅读 0 人点赞

今天有学员问:/etc/profile.d/目录下的文件是否只能识别 .sh的脚本?
我也不是很确定,所以,我验证了一把:

Last login: Thu Oct 10 06:44:01 2019 from 10.0.0.1
[root@db02 ~]# cd /etc/profile.d/
[root@db02 profile.d]# ls
colorls.csh colorls.sh cvs.csh cvs.sh glib2.csh glib2.sh lang.csh lang.sh less.csh less.sh vim.csh vim.sh which2.sh
[root@db02 profile.d]# ls -dl
drwxr-xr-x. 2 root root 4096 Nov 23 2016 .
[root@db02 profile.d]# ll
total 52
-rw-r--r--. 1 root root 1150 Apr 12 2016 colorls.csh
-rw-r--r--. 1 root root 1179 Apr 12 2016 colorls.sh
-rw-r--r--. 1 root root 92 Nov 22 2013 cvs.csh
-rw-r--r--. 1 root root 78 Nov 22 2013 cvs.sh
-rw-r--r--. 1 root root 192 Jan 21 2016 glib2.csh
-rw-r--r--. 1 root root 192 Jan 21 2016 glib2.sh
-rw-r--r--. 1 root root 1745 May 12 2016 lang.csh
-rw-r--r--. 1 root root 2706 May 12 2016 lang.sh
-rw-r--r--. 1 root root 123 Jun 4 2014 less.csh
-rw-r--r--. 1 root root 121 Jun 4 2014 less.sh
-rw-r--r--. 1 root root 105 Jul 24 2015 vim.csh
-rw-r--r--. 1 root root 269 Jul 24 2015 vim.sh
-rw-r--r--. 1 root root 169 May 20 2009 which2.sh
[root@db02 profile.d]# echo "echo [我是雷锋]" >> 99.sh
# 重新登录验证
[root@db02 profile.d]# logout
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(db02-52) at 13:24:57.

Type `help' to learn how to use Xshell prompt.
[C:\~]$ 

Connecting to 10.0.0.52:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Sat Oct 12 01:10:52 2019 from 10.0.0.1
[我是雷锋]
[root@db02 ~]# cd /etc/profile.d/
[root@db02 profile.d]# ls
99.sh colorls.sh cvs.sh glib2.sh lang.sh less.sh vim.sh
colorls.csh cvs.csh glib2.csh lang.csh less.csh vim.csh which2.sh
# 重新登录证明 .sh 的脚本可以执行,我们修改它的后缀
[root@db02 profile.d]# mv 99.sh 99.txt
[root@db02 profile.d]# logout
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(db02-52) at 13:25:24.

Type `help' to learn how to use Xshell prompt.
[C:\~]$ 

Connecting to 10.0.0.52:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Sat Oct 12 01:11:48 2019 from 10.0.0.1
[root@db02 ~]# 
# 重新登录后,刚才的【我是雷锋】没有出现,证明 99.txt 识别不出来,没有被Linux开机启动加载

【验证结果】确实是只认 .sh的,但为什么呢?这个逻辑写在哪里呢?
我重新检查了Linux的启动过程,发现:
1)在 /etc/profile中找到了这部分逻辑,以下为截图:

2) /etc/bashrc 中也找到这部分的逻辑

掌柜

让未来超越过去!

文章评论(0)