Linux 命令之 set -- 显示或设置 shell 特性及 shell 变量
文章目錄
- 一、命令介紹
- 二、選項參數(shù)
- 三、命令示例
- (一)開啟/關(guān)閉特性
- (二)將普通變量設(shè)為環(huán)境變量
一、命令介紹
set 命令作用主要是顯示系統(tǒng)中已經(jīng)存在的 shell 變量,設(shè)置 shell 變量的新變量值,可以把已有的變量操作成環(huán)境變量等等。使用 set 更改 shell 特性時,符號 + 和 - 的作用分別是打開和關(guān)閉指定的模式。set 命令不能夠定義新的 shell 變量。如果要定義新的變量,可以使用 declare 命令以“變量名=值”的格式進行定義。
二、選項參數(shù)
| -a | 標記已修改的變量,以供輸出至環(huán)境變量(意味著’set -a’之后定義的普通變量可在子shell中訪問到)。 |
| -b | 使被中止的后臺程序立刻回報執(zhí)行狀態(tài)。 |
| -C | 轉(zhuǎn)向所產(chǎn)生的文件無法覆蓋已存在的文件。 |
| -d | Shell預(yù)設(shè)會用雜湊表記憶使用過的指令,以加速指令的執(zhí)行。使用-d參數(shù)可取消。 |
| -e | 若指令傳回值不等于0,則立即退出shell。 |
| -f | 取消使用通配符。 |
| -h | 自動記錄函數(shù)的所在位置。 |
| -H Shell | 可利用"!"加<指令編號>的方式來執(zhí)行history中記錄的指令。 |
| -k | 指令所給的參數(shù)都會被視為此指令的環(huán)境變量。 |
| -l | 記錄for循環(huán)的變量名稱。 |
| -m | 使用監(jiān)視模式。 |
| -n | 只讀取指令,而不實際執(zhí)行。 |
| -p | 啟動優(yōu)先順序模式。 |
| -P | 啟動-P參數(shù)后,執(zhí)行指令時,會以實際的文件或目錄來取代符號連接。 |
| -t | 執(zhí)行完隨后的指令,即退出shell。 |
| -u | 當執(zhí)行時使用到未定義過的變量,則顯示錯誤信息。 |
| -v | 顯示shell所讀取的輸入值。 |
| -x | 執(zhí)行指令前,會先顯示該指令及其參數(shù)。 |
三、命令示例
(一)開啟/關(guān)閉特性
set -x 是開啟 x 特性, set +x 是關(guān)閉 x 特性, set -x 等效于 set -o xtrace, 即在執(zhí)行命令時打印該命令及其參數(shù)。執(zhí)行 set -x 后,對整個腳本有效。
(二)將普通變量設(shè)為環(huán)境變量
使用 declare 命令定義一個新的環(huán)境變量 “mylove”,并且將其值設(shè)置為 “Visual C++”,輸入如下命令:
[root@htlwk0001host ~]# declare mylove='Visual C++' # 定義新環(huán)境變量再使用set命令將新定義的變量輸出為環(huán)境變量,輸入如下命令:
[root@htlwk0001host ~]# set -a mylove # 設(shè)置為環(huán)境變量執(zhí)行該命令后,將會新添加對應(yīng)的環(huán)境變量。用戶可以使用 env 命令和 grep 命令分別顯示和搜索環(huán)境變量 “mylove”,輸入命令如下:
[root@htlwk0001host ~]# env | grep mylove # 顯示環(huán)境變量值該命令執(zhí)行后,將輸出查詢到的環(huán)境變量值。env 查詢出所有的環(huán)境變量,寫入管道中(即輸出到管道中),grep 從管道中讀取數(shù)據(jù)(即輸入數(shù)據(jù)),在讀取的數(shù)據(jù)中搜索關(guān)鍵詞 mylove
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Linux 命令之 set -- 显示或设置 shell 特性及 shell 变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 古代女史是什么意思(女史箴图中的女史是什
- 下一篇: Linux 命令之 unset -- 删