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