天天看點

Linux bash sh source ./ export 的了解

  1. bash

    bash是 Bourne Again SHell 是linux标準的預設shell ,它基于Bourne shell,吸收了C shell和Korn shell的一些特性。bash完全相容Bourne shell,也就是說用Bourne shell的腳本不加修改可以在bash中執行。

  2. sh

    sh或是執行腳本,或是切換到sh這個bash裡,預設的shell是bash,你可以試試tcsh啊,csh啊,ksh,zsh什麼的,看看别的shell是什麼樣子的。當然,linux中sh是連結到bash上的,是以sh與bash在功能上是沒有差別的。

    還有就是在執行腳本的時候是用sh + 腳本名的方式來執行,其實,大部分的時候,簡單腳本隻要權限設定正确,可以直接執行,不需要sh指令的

  3. source

    使目前shell讀入路徑為filepath的shell檔案并依次執行檔案中的所有語句,通常用于重新執行剛修改的初始化檔案,使之立即生效,而不必登出并重新登入。例如,當我們修改了/etc/profile檔案,并想讓它立刻生效,而不用重新登入,就可以使用source指令,如source /etc/profile。

    其實隻是簡單地讀取腳本裡面的語句依次在目前shell裡面執行,沒有建立新的子shell。那麼腳本裡面所有建立、改變變量的語句都會儲存在目前shell裡面。

  4. ./

    隻有權限的可執行檔案,才可以通過./方式執行。相當于source filename 。通過chmod +x filename 添權重限。

  5. export

    父shell裡建立了變量,在子shell 裡做了修改,通過export 指令可以将修改後的變量傳回給父shell

參考資料:

添加連結描述

添加連結描述

繼續閱讀