原创 bash shell數組模擬棧求四則運算混合表達式的逆波蘭式和值

########################################################## #需求:四則運算混合表達式求值 #描述: # 採用shell實現基於簡單的加減乘除的混合表達式求值 #分析:

原创 如何使腳本的set-user-id位起作用

 一:前記 以下討論圍繞的一個問題:爲什麼C程序可以通過set-user-id位提權,但shell腳本不可以。   文章會比較羅嗦,其實只要瞭解unix程序的fork/exec並結合shell的執行過程,即可以明白。結論其實很簡單就在最後

原创 grep正則執行模式粗探

今天羣裏討論grep正則時,用到了-P選項 查了下man       -P, --perl-regexp              Interpret PATTERN as a Perl regular expression.     然

原创 又一道sed題的多種解決

羣裏的討論呵,將自個的答案發到blog上來 題:(要求用sed)      有一根長300釐米的棍子,從左往右塗5釐米黑色,空5釐米,然後再塗5釐米黑色,再空出5釐米,……從右往左塗4釐米黑色,空出4釐米,再塗4釐米黑色,再空出4釐米……

原创 bash shell數組模擬棧運算(函數化)

將數組模擬棧運算函數化 包括push/pop/top/bottom/索引刪除,存在檢查等   array_test是測試和使用實例   #========== #1.0數組公函區 #用數組模擬棧 #出棧:array_pop #======

原创 awk函數,參數,小例

相當簡單的一個例子,主要是做爲awk的函數,參數使用的一個小例子, 簡單的例子其實可以擴展出不少內容的。 比如這裏用到的BEGIN模塊,awk內部模塊除BEGIN外,都是要讀輸入的, 經常只採用BEGIN模塊來測試awk   再比如awk

原创 shell條件表達式小結:test([])與 [[]]

在info bash裏的第“6.4 Bash Conditional Expressions”節裏開頭有一句話說明了shell條件判斷的二個機制: Conditional expressions are used by the `[['

原创 二個shell變量小記, HISTTIMEFORMAT ,和shopt:變量nullglob

考慮下這個二個問題: 1:“echo *在一個空目錄下執行的結果如何?”2:history輸出能否帶着命令執行時間? 以前在看文檔(主要是man和info)時,遇到工具的變量,總是跳過去不讀,將這部分當做字典,需要時再查。 事實上經典的變

原创 升級vmware tools導致了vm上不了網

這二天就是在折騰,   先是裝了新的win7系統,連帶更新了下vm從6.5升級到7   原先是vm 6.5時裝的鏡象,在更新vmware 到 7.01版本後提示要求更新vmare tools,   在更新完vmtool後發現前一天還能正常

原创 rh裏的/tmp清理機制-tmpwatch

vm裏裝的是rhe 5系統,習慣性的寫一些腳本時經常在/tmp下建一些臨時文件或放一些測試數據, 最近發現/tmp老是默明其妙地被清理,但像a.sh,a.txt等文件卻一直保留着。     想想自動的機制不外乎用到cron,於是在羣裏發了

原创 實例解析shell子進程(subshell )

  實例解析shell子進程(subshell )   通過實例,解析個人對shell子進程的一個瞭解,主要包括以下幾個方面 1:什麼是shell子進程 2:shell什麼情況下會產生子進程 3:子進程的特點與注意事項 4:$變量$$在腳

原创 真真假假--shell裏的邏輯運算

最近羣裏經常討論到shell裏的與(&&)運算與或(運算)   這邊也做下簡單的總結 1:shell在邏輯運算下,跟其他語言一樣支持與或非的邏輯運算(man test,或 在man bash裏查的ARITHMETIC EVALUATION

原创 sed腳本:計算每行字符數,並同時輸出記錄

序:相當蛋疼的腳本,看了info sed 裏的一個關於sed腳本模擬cat -b命令,想到的自己做個練習,於是就有了下邊的題目和答案。 首發:QQ羣   題目: 用單個sed(不用管道)計算每行字符數,並同時輸出記錄 如文件abcdef

原创 關於trap ERR的一個bash shell set 參數之一:-E,

bash shell(rh linux平臺,bash 3.2),以後基本上默認是這個平臺,不再強調了呵。   今天有個寫java的羣友問了個shell問題(看看寫java的人起的函數名,都這麼java,呵呵) 爲什麼 rm文件不存在,沒有

原创 通過grep源碼,分析grep返回值

問題: 在羣裏跟朋友討論grep的出錯,提到grep返回碼與返回的錯誤信息問題 想要確認grep的返回值是多少,如何區分各種錯誤,反回特意去gnu網站下載的grep源碼進行分析     grep源碼分析結果:1:grep返回值有三個,0匹