set命令參數及用法詳解

來源:互聯網
上載者:User

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  ”。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.