bashrc與profile的區(qū)別 要搞清bashrc與profile的區(qū)別,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。 交互式模式就是shell等待你的輸入,并且執(zhí)行你提交的命令。這種模式被稱作交互式是因?yàn)閟hell與用戶進(jìn)行交互。這種模式也是大多數(shù)用戶非常熟悉的:登錄、執(zhí)行一些命令、簽退。當(dāng)你簽退后,shell也終止了。 shell也可以運(yùn)行在另外一種模式:非交互式模式。在這種模式下,shell不與你進(jìn)行交互,而是讀取存放在文件中的命令,并且執(zhí)行它們。當(dāng)它讀到文件的結(jié)尾,shell也就終止了。 bashrc與profile都用于保存用戶的環(huán)境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。系統(tǒng)中存在許多bashrc和profile文件,下面逐一介紹: /etc/pro此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)?shù)谝粋€(gè)用戶登錄時(shí),該文件被執(zhí)行. 并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置. /etc/bashrc:為每一個(gè)運(yùn)行bash shell的用戶執(zhí)行此文件.當(dāng)bash shell被打開時(shí),該文件被讀取。有些linux版本中的/etc目錄下已經(jīng)沒有了bashrc文件。 ~/. pro每個(gè)用戶都可使用該文件輸入專用于自己使用的shell信息,當(dāng)用戶登錄時(shí),該 文件僅僅執(zhí)行一次!默認(rèn)情況下,它設(shè)置一些環(huán)境變量,然后執(zhí)行用戶的.bashrc文件. ~/.bashrc:該文件包含專用于某個(gè)用戶的bash shell的bash信息,當(dāng)該用戶登錄時(shí)以及每次打開新的shell時(shí),該文件被讀取. 另外,/etc/profile中設(shè)定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關(guān)系.
某網(wǎng)友總結(jié)如下: /etc/profile,/etc/bashrc 是系統(tǒng)全局環(huán)境變量設(shè)定 |
|