Linux

“./etc/profile”有什麼作用?

  • June 1, 2022

我在一本書中看到了這些說明,不知道該. /etc/profile命令是做什麼的,它是什麼?

是一樣的source /etc/profile嗎?

Linux 特定的 Java 步驟

在 Linux 系統上,以下說明會在為所有使用者/etc/profile.d/定義的目錄中設置一個 bash 文件 。JAVA_HOME更改此文件夾中的環境設置需要 root 訪問權限並影響系統的所有使用者。(我們使用$bash shell 提示符。)Oracle JVM 安裝程序通常在(v1.6 版)中安裝軟體,並在安裝過程中/usr/java/ jdk-1.6.X創建符號連結:/usr/java/default``/usr/java/latest

$ /usr/java/latest/bin/java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
$ sudo echo "export JAVA_HOME=/usr/java/latest" > /etc/profile.d/java.sh
$ sudo echo "PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile.d/java.sh
$ . /etc/profile
$ echo $JAVA_HOME
/usr/java/latest

是的,和你說. /etc/profile的一樣。source /etc/profile這意味著文件中的命令將按照它們在 cli 中執行的方式執行,而不是像呼叫標準腳本那樣在新的子 shell 中執行。

https://tldp.org/HOWTO/Bash-Prompt-HOWTO/x237.html

3.5. 獲取文件 獲取文件時(通過在命令行輸入源文件名或 . 文件名),文件中的程式碼行將像在命令行中列印一樣執行。這對於復雜的提示特別有用,允許它們儲存在文件中並通過獲取它們所在的文件來呼叫。

在範例中,您會發現我經常在包含函式的文件開頭包含#!/bin/bash。如果您正在獲取文件,則這不是必需的,就像不需要 chmod +xa 將要獲取的文件一樣。我這樣做是因為它使 Vim(我選擇的編輯器,請不要著火 - 你使用你喜歡的)認為我正在編輯一個 shell 腳本並打開顏色​​語法突出顯示。

引用自:https://unix.stackexchange.com/questions/704610