set命令參數及用法詳解 linux set 命令 功能說明:設定shell。 語 法:set [+-abCdefhHklmnpPtuvx] 補充說明:用set 命令可以設定各種shell選項或者列 出shell變數.單個選項設定常用的特性.在某些選項之後-o參數將特殊特性開啟.在某些選項之後使用+o參數將關閉某些特性,不帶任何參數的set命 令將顯示shell的全部變數.除非遇到非法的選項,否則set總是返回ture. 參 數: allexport -a 從設定開始標記所有新的和修改過的用於輸出的變數 braceexpand -B 允許符號擴充,預設選項 emacs 在進行命令編輯的時候,使用內建的emacs編輯器, 預設選項 errexit -e 如果一個命令返回一個非0退出狀態值(失敗),就退出. histexpand -H 在做臨時替換的時候允許使用!和!! 預設選項 history 允許命令列曆史,預設選項 ignoreeof 禁止coontrol-D的方式退出shell,必須輸入exit。 interactive-comments 在互動式模式下, #用來表示註解 keyword -k 為命令把關鍵字參數放在環境中 monitor -m 允許作業控制 noclobber -C 保護檔案在使用重新動向的時候不被覆蓋 noexec -n 在指令碼狀態下讀取命令但是不執行,主要為了檢查文法結構。 noglob -d 禁止路徑名擴充,即關閉萬用字元 notify -b 在後台作業以後通知客戶 nounset -u 在擴充一個沒有的設定的變數的時候, 顯示錯誤的資訊 onecmd -t 在讀取並執行一個新的命令後退出 physical -P 如果被設定,則在使用pwd和cd命令時不使用符號串連的路徑 而是實體路徑 posix 改變shell行為以便符合POSIX要求 privileged 一旦被設定,shell不再讀取.profile檔案和env檔案 shell函數也不繼承任何環境 verbose -v 為調試開啟verbose模式 vi 在命令列編輯的時候使用內建的vi編輯器 xtrace -x 開啟調試迴響模式 設定系統內容變數在本站下面這兩篇文章中有詳細說明:設定環境變數永久生效 export PS1 :http://www.linuxso.com/a/linuxxitongguanli/1812.html 擴充閱讀:set,env和export這三個命令都可以用來顯示shell變數,其區別? set 用來顯示本地變數env 用來顯示環境變數export 用來顯示和設定環境變數 set 顯示當前shell的變數,包括目前使用者的變數env 顯示目前使用者的變數export 顯示當前置出成使用者變數的shell變數 每個shell有自己特有的變數(set)顯示的變數,這個和使用者變數是不同的,目前使用者變數和你用什麼shell無關,不管你用什麼shell都在,比如HOME,SHELL等這些變數,但shell自己的變數不同shell是不同的,比如BASH_ARGC, BASH等,這些變數只有set才會顯示,是bash特有的,export不加參數的時候,顯示哪些變數被匯出成了使用者變數,因為一個shell自己的變數可以通過export “匯出”變成一個使用者變數 [root@linux ~]# aaa=bbb [root@linux ~]# echo $aaabbb [root@linux ~]# set|grep aaaaaa=bbb [root@linux ~]# env|grep aaa [root@linux ~]# export aaa [root@linux ~]# env|grep aaaaaa=bbb 擴充資料二:set、env、export——Linux中的環境變數命令 Linux是一個多使用者的作業系統。每個使用者登入系統後,都會有一個專用的運行環境。通常每個使用者預設的環境都是相同的,這個預設環境實際上就是一組環境 變數的定義。使用者可以對自己的運行環境進行定製,其方法就是修改相應的系統內容變數。 什麼是環境變數 環境變數是一個具有 特定名字的對象,它包含了一個或者多個應用程式所將使用到的資訊。許多使用者(特別是那些剛接觸Linux的新手)發現這些變數有些怪異或者難以控制。其 實,這是個誤會:通過使用環境變數,你可以很容易的修改一個牽涉到一個或多個應用程式的配置資訊。 常見的環境變數 對於 PATH和HOME等環境變數大家都不陌生。 PATH能夠指定命令的搜尋路徑,那麼動態連結程式庫的路徑用什麼變數指定呢?或者就是在 PATH裡面?比如有一個程式需要/usr/local/lib下面的一個庫檔案,應該怎麼指定其路徑呢?經常看到有些變數如 LD_LIBRARY_PATH,LIBPATH,CLASSPATH等,他們之間有什麼不同和關係? 除此之外,還有下面一些常見環境變 量。 ◆ HISTSIZE是指儲存曆史命令記錄的條數。 ◆ LOGNAME是指目前使用者的登入名稱。 ◆ HOSTNAME是指主機的名稱,許多應用程式如果要用到主機名稱的話,通常是從這個環境變數中來取得的。 ◆ SHELL是指目前使用者用的是哪種Shell。 ◆ LANG/LANGUGE是和語言相關的環境變數,使用多種語言的使用者可以修改此環境變數。 ◆ MAIL是指目前使用者的郵件存放目錄。 ◆ PS1是基本提示符,對於root使用者是#,對於普通使用者是$。PS2是附屬提示符,預設是“>”。可以通過修改此環境變數來修改當前的命令符,比 如下列命令會將提示符修改成字串“Hello,My NewPrompt ”。