欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

關于linux系統(tǒng)set命令的信息

linux用set命令顯示當前模式

Linux系統(tǒng)設置:set命令詳解

網站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網頁設計、網站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了大柴旦免費建站歡迎大家使用!

set命令作?主要是顯?系統(tǒng)中已經存在的shell變量,以及設置shell變量的新變量值。使?set更改shell特性時,符號"+"和"-"的作?分別是打開和關閉指定的模式。set命令不能夠定義新的shell變量。如果要定義新的變量,可以使?命令以變量名=值的格式進?定義即可。

語法

set(選項)(參數)

選項

-a:標?已修改的變量,以供輸出?環(huán)境變量。

-b:使被中?的后臺程序?刻回報執(zhí)?狀態(tài)。

-C:轉向所產?的?件?法覆蓋已存在的?件。

-d:Shell預設會?雜湊表記憶使?過的指令,以加速指令的執(zhí)?。使?-d參數可取消。

-e:若指令傳回值不等于0,則?即退出shell。

-f:取消使?通配符。

-h:?動記錄函數的所在位置。

-H Shell:可利?"!"加指令編號的?式來執(zhí)?history中記錄的指令。

-k:指令所給的參數都會被視為此指令的環(huán)境變量。

-l:記錄for循環(huán)的變量名稱。

-m:使?監(jiān)視模式。

-n:只讀取指令,?不實際執(zhí)?。

-p:啟動優(yōu)先順序模式。

-P:啟動-P參數后,執(zhí)?指令時,會以實際的?件或?錄來取代符號連接。

-t:執(zhí)?完隨后的指令,即退出shell。

-u:當執(zhí)?時使?到未定義過的變量,則顯?錯誤信息。

-v:顯?shell所讀取的輸?值。

-x:執(zhí)?指令后,會先顯?該指令及所下的參數。

參數

取消某個set曾啟動的參數。

實例

使?declare命令定義?個新的環(huán)境變量"mylove",并且將其值設置為"Visual C++",輸?如下命令:

declare mylove='Visual C++' #定義新環(huán)境變量

再使?set命令將新定義的變量輸出為環(huán)境變量,輸?如下命令:

set -a mylove #設置為環(huán)境變量

執(zhí)?該命令后,將會新添加對應的環(huán)境變量。?戶可以使?命令和命令分別顯?和搜索環(huán)境變量"mylove",輸?命令如下:

env | grep mylove #顯?環(huán)境變量值

此時,該命令執(zhí)?后,將輸出查詢到的環(huán)境變量值。

5.9

百度文庫VIP限時優(yōu)惠現在開通,立享6億+VIP內容

立即獲取

Linux系統(tǒng)設置:set命令詳解

Linux系統(tǒng)設置:set命令詳解

set命令作?主要是顯?系統(tǒng)中已經存在的shell變量,以及設置shell變量的新變量值。使?set更改shell特性時,符號"+"和"-"的作?分別是打開和關閉指定的模式。set命令不能夠定義新的shell變量。如果要定義新的變量,可以使?命令以變量名=值的格式進?定義即可。

語法

set(選項)(參數)

選項

-a:標?已修改的變量,以供輸出?環(huán)境變量。

第 1 頁

-b:使被中?的后臺程序?刻回報執(zhí)?狀態(tài)。

-C:轉向所產?的?件?法覆蓋已存在的?件。

-d:Shell預設會?雜湊表記憶使?過的指令,以加速指令的執(zhí)?。使?-d參數可取消。

-e:若指令傳回值不等于0,則?即退出shell。

-f:取消使?通配符。

-h:?動記錄函數的所在位置。

-H Shell:可利?"!"加指令編號的?式來執(zhí)?history中記錄的指令。

第 2 頁

-k:指令所給的參數都會被視為此指令的環(huán)境變量。

-l:記錄for循環(huán)的變量名稱。

-m:使?監(jiān)視模式。

-n:只讀取指令,?不實際執(zhí)?。

-p:啟動優(yōu)先順序模式。

-P:啟動-P參數后,執(zhí)?指令時,會以實際的?件或?錄來取代符號連接。

-t:執(zhí)?完隨后的指令,即退出shell。

-u:當執(zhí)?時使?到未定義過的變量,則顯?錯誤信息。

第 3 頁

-v:顯?shell所讀取的輸?值。

-x:執(zhí)?指令后,會先顯?該指令及所下的參數。

參數

取消某個set曾啟動的參數。

實例

使?declare命令定義?個新的環(huán)境變量"mylove",并且將其值設置為"Visual C++",輸?如下命令:

declare mylove='Visual C++' #定義新環(huán)境變量

第 4 頁

再使?set命令將新定義的變量輸出為環(huán)境變量,輸?如下命令:

set -a mylove #設置為環(huán)境變量

執(zhí)?該命令后,將會新添加對應的環(huán)境變量。?戶可以使?命令和命令分別顯?和搜索環(huán)境變量"mylove",輸?命令如下:

env | grep mylove #顯?環(huán)境變量值

此時,該命令執(zhí)?后,將輸出查詢到的環(huán)境變量值。

Linux里面set -e命令作用是什么?

Linux里面set -e命令作用是,如果一個命令返回一個非0退出狀態(tài)值(失敗),就退出.

這個命令-e參數企業(yè)應用極少

set的“+” ,"-" 分別用于關閉或者打開某些特性;具體的特性有很多,這里介紹 -e 特性:

set -e ; 表示后續(xù)所有的bash 命令的返回code 如果不是0,那么腳本立即退出,后續(xù)的腳本將不會得到執(zhí)行的機會;

set +e ; 這個是默認的狀態(tài),表示就算后續(xù)的命令如果返回值不是0,那么腳本依然向下執(zhí)行;

所以 set -e其實就是從設置的位置起,給腳本的每一條命令加上了同一個退出條件;而set +e 則是取消這種設置;

看下面的例子:

[root@oldboy ~]# cat test.sh

#!/bin/bash

function lookupstr(){

grep "sles" /etc/os-release /dev/null 21

if [ "$?" -ne 0 ];then

echo -e "Can not find the 'sles' string in file.\n"

fi

}

echo "Below results based on: set +e"

set +e

lookupstr

echo "Below results based on: set -e"

set -e

lookupstr

[root@oldboy ~]# ./test.sh

Below results based on: set +e

Can not find the 'sles' string in file.

Below results based on: set -e

[root@oldboy ~]#

set -e option 可以幫助優(yōu)化腳本

linux 的set命令,什么情況下會用到?

set

功能說明:設置shell。

語 法:set [+-abCdefhHklmnpPtuvx]

補充說明:set指令能設置所使用shell的執(zhí)行方式,可依照不同的需求來做設置。

參 數:

-a 標示已修改的變量,以供輸出至環(huán)境變量。

-b 使被中止的后臺程序立刻回報執(zhí)行狀態(tài)。

-C 轉向所產生的文件無法覆蓋已存在的文件。

-d Shell預設會用雜湊表記憶使用過的指令,以加速指令的執(zhí)行。使用-d參數可取消。

-e 若指令傳回值不等于0,則立即退出shell。

-f 取消使用通配符。

-h 自動記錄函數的所在位置。

-H Shell 可利用"!"加指令編號的方式來執(zhí)行history中記錄的指令。

-k 指令所給的參數都會被視為此指令的環(huán)境變量。

-l 記錄for循環(huán)的變量名稱。

-m 使用監(jiān)視模式。

-n 只讀取指令,而不實際執(zhí)行。

-p 啟動優(yōu)先順序模式。

-P 啟動-P參數后,執(zhí)行指令時,會以實際的文件或目錄來取代符號連接。

-t 執(zhí)行完隨后的指令,即退出shell。

-u 當執(zhí)行時使用到未定義過的變量,則顯示錯誤信息。

-v 顯示shell所讀取的輸入值。

-x 執(zhí)行指令后,會先顯示該指令及所下的參數。

+參數 取消某個set曾啟動的參數。

Linux篇:從rm -rf 引發(fā)的腳本安全閑聊(set 命令)

上周剛經歷了一個“刪庫跑路”的慘重事件,不知哪位無邪的童鞋把Confluence 的數據存儲目錄 /var 清空了,結果群眾的怒火燃燒上了天空

這次結合自己的一些思考來記錄一些有關腳本安全的點

先來看一個簡單的案例

在用戶主目錄下創(chuàng)建safe目錄及相關文件用于測試演示

假如寫一段腳本刪除safe目錄下所有文件:

這段是不是看起來沒有問題,但如果由于有些大心臟的同學粗心,寫成下面這樣

最終,腳本都變成了rm? ?-rf? ? *? ?,可怕至極

其實在shell腳本當中,為了防止這種現象,我們可以借助set 命令來實現相關控制

關于set 命令有較多參數,這里介紹最常用的幾個

我們以剛才圖4那段有問題的腳本說事

為保證不錯刪東西 ,我們加一個set -u 選項 ,判斷變量是否存在

我們執(zhí)行一下,看看效果

看,報錯啦,dir這個變量沒有聲明,ls 查看一下文件,發(fā)現都還存在

set -e? 與set -u 通常搭配在一起使用

一個是遇到錯誤退出,一個是發(fā)現空變量報錯

這兩個搭配在一起放在腳本里可以防止一些變量為空導致文件全被清空的問題

拓展一下:

如果只想應用在腳本的某一段中,那么

開始段落前加set -e 表示范圍開始

結束段落后加 set +e 表示范圍結束

set -x 與set + x同理。

1、刪文件其實不用rm -rf ,不是受迫性需要,不要使用rm -rf?

2、修改、刪除系統(tǒng)文件或其他重要的東西,先備份一份

3、非特殊需要,不建議在root下操作,普通用戶即可

4、腳本加上set -e 與set -u保證安全

linux的shell腳本中的set是什么意思?怎么理解

set命令作用主要是顯示系統(tǒng)中已經存在的shell變量,以及設置shell變量的新變量值。使用set更改shell特性時,符號"+"和"-"的作用分別是打開和關閉指定的模式。set命令不能夠定義新的shell變量。如果要定義新的變量,可以使用declare命令以變量名=值的格式進行定義即可。使用:set(選項)(參數)

例如:

declare mylove='Visual C++' #定義新環(huán)境變量

再使用set命令將新定義的變量輸出為環(huán)境變量,輸入如下命令: set -a mylove

標示已修改的變量,以供輸出至環(huán)境變量。

-b:使被中止的后臺程序立刻回報執(zhí)行狀態(tài)

-C:轉向所產生的文件無法覆蓋已存在的文件

-d:Shell預設會用雜湊表記憶使用過的指令,以加速指令的執(zhí)行。使用-d參數可取消。

-e:若指令傳回值不等于0,則立即退出shell。

-f:取消使用通配符。

-h:自動記錄函數的所在位置。

-H Shell:可利用"!"加指令編號的方式來執(zhí)行history中記錄的指令。

-k:指令所給的參數都會被視為此指令的環(huán)境變量。

-l:記錄for循環(huán)的變量名稱。

-m:使用監(jiān)視模式。

-n:只讀取指令,而不實際執(zhí)行。

-p:啟動優(yōu)先順序模式。

-P:啟動-P參數后,執(zhí)行指令時,會以實際的文件或目錄來取代符號連接。

-t:執(zhí)行完隨后的指令,即退出shell。

-u:當執(zhí)行時使用到未定義過的變量,則顯示錯誤信息。

-v:顯示shell所讀取的輸入值。

-x:執(zhí)行指令后,會先顯示該指令及所下的參數。

文章標題:關于linux系統(tǒng)set命令的信息
文章位置:http://chinadenli.net/article48/dodeihp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、動態(tài)網站云服務器、網站維護ChatGPT、服務器托管

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網站建設