幾個shell小技巧

2021-05-23 17:29:17 字數 1281 閱讀 8333

1. expr 命令

由於bash 是功能有限的直譯器,所以自身並沒有支援太多的算術運算,一切都是字串。所以如果涉及到算術運算,需要借助其他的工具,比如bc(功能比較強大的小工具),expr 和$(())算術擴充套件.

expr 支援幾個常見的算術運算+ ,--, * , /, %(取模), .

expr還支援常見的關係運算,比如 = ,!= , >, >= , <, <=:

題外話:如果要想計算指數,如何做呢?給出兩種方案:

2. $() 擴充套件和``擴充套件

這兩個擴充套件,按照我的經驗,沒有什麼本質的區別,都是迫使命令執行,

3. 在平時工作中,會遇到要向一些只有root才能有許可權進入的目錄裡放入一些檔案,比如/var/www目錄裡放一些**,但又不想破壞檔案原有的屬性。這時可以使用sudo(我討厭sudo),或者cp的乙個選項 -p

4.xargs

手冊頁中,對於xargs是這樣描述的:

xargs 從 標準 輸入 讀入 引數. 引數 用 空格(可以 用 雙引號  單引號  或

反斜槓  轉意)  或者 回車 隔開.  然後 一次 或者 多次 執行 命令 command (預設 是 /bin/echo), 其 引數 是

initial-arguments 後面 再 加上 從 標準 輸入 讀入 的 引數. 標準 輸入中 的 空格 被 忽略.

再來看看xargs的引數,

xargs [-0prtx] [-e[eof-str]] [-i[replace-str]] [-l[max-lines]] [-n max-

args]  [-s  max-chars]  [-p   max-procs]   [--null]   [--eof[=eof-str]]

[--replace[=replace-str]]   [--max-lines[=max-lines]]   [--interactive]

[--max-chars=max-chars]  [--verbose]  [--exit]  [--max-procs=max-procs]

[--max-args=max-args] [--no-run-if-empty] [--version] [--help] [command

[initial-arguments]]

簡單的說,xargs 從標準輸入得到引數,然後執行command (由於command是可選的,所以如果不提供的話,預設是執行/bin/echo命令)

command引數一方面是標準輸入,另一方面是command位置提供.

分享shell程式設計中的幾個小技巧

1 列印一些頭資訊 command dilimiter dilimiter 以分界符號dilimiter中的內容作為命令的標準輸入 常用在echo命令中,這樣就避免了沒輸出一行就要使用乙個echo命令,同時,輸出格式的調整也相應變得簡單了。例如 echo something message hell...

幾個Blog小技巧

幾個blog小技巧 1.公告和計數器 填寫在靜態新聞 宣告中,目前 如下 其中 2.為blog 新增 天氣預報 功能 今日天氣 要更改預設省份的話,只要在city 的後面加就行了,不過那個省份在列表中要有。將 city 替換為 city 上海 就可以了,不過先看一下列表裡面有沒有上海這個城市,如果有...

幾個jquery小技巧

document ready function input.blur function xhtml 1.0 strict doesn t allow this attribute in the code,so use this to keep the code valid.document read...