Time of Update: 2018-07-26
shell中條件判斷if中的-z到-d的意思 著作權聲明:This article original articles for bloggers, Repost please indicate the source. If in doubt, please contact me. I will be appreciated. https://blog.csdn.net/longyinyushi/article/details/50728049
Time of Update: 2018-07-26
#!/bin/bash#遞迴列印目前的目錄下的所有目錄檔案。 PRINTF(){ls $1 | while read line#一次讀取每一行放到line變數中do [ -d $1/$line ] && { DIR="$1/$line" echo $DIR } DIR1=`dirname $DIR`#求路徑。 A=`ls -F $DIR1 | grep / | grep
Time of Update: 2018-07-26
一、使用者登陸進入系統後的系統內容變數: $HOME 使用者自己的目錄 $PATH 執行命令時所搜尋的目錄 $TZ 時區 $MAILCHECK 每隔多少秒檢查是否有新的信件 $PS1 在命令列時的提示號 $PS2 當命令尚未打完時,Shell 要求再輸入時的提示號 $MANPATH man 指令的搜尋路徑 二、
Time of Update: 2018-07-26
在linux的shell中 if 語句通過關係運算子判斷運算式的真假來決定執行哪個分支。Shell 有三種 if ... else 語句: if ... fi 語句; if ... else ... fi 語句; if ... elif ... else ... fi 語句。 1) if ... else 語句 if ... else 語句的文法: if [ expression ]then Statement(s) to be
Time of Update: 2018-07-26
exec和source都屬於bash內部命令(builtins commands),在bash下輸入man exec或 man source可以查看所有的內部命令資訊。 bash shell的命令分為兩類:外部命令和內部命令。外部命令是通過系統調用或獨立的程式實現的, 如sed、awk等等。內部命令是由特殊的檔案格式(.def)所實現,如cd、history、exec等等。 在說明exe和source的區別之前,先說明一下fork的概念。
Time of Update: 2018-07-26
舉例說:指令碼名稱叫test.sh 入參三個: 1 2 3 如下 ./test.sh 1 2 3 運行test.sh 1 2 3後 $*為"1 2 3"(一起被引號包住)$@為"1" "2" "3"(分別被包住)$#為3(參數數量) 案例2: #!/bin/bash my_fun() { echo "$#" } echo 'the number
Time of Update: 2018-07-26
sed 和 awk 是Unix環境下強大的文本過濾工具。 通過sed和awk,可以方便的編輯本地的檔案,也可以更方便的使用Regex過濾其他的命令的輸出。 sed 代表 Stream Editor,意味著 sed 是面向流機制的。為sed命令提供的所有輸入在被sed處理後都要送到 STDOUT。 sed 命令並不改變輸入的文字。 常用的sed格式: 一、單個 sed 的執行 sed 讀取每一行資料,然後執行一個動作。 文法為: sed
Time of Update: 2018-07-26
程式員都很懶,你懂的。 最近在開發中,需要用到伺服器的ip和mac資訊。但是伺服器是架設在linux系統上的,對於多網口,在擷取ip時就產生了很大的問題。下面是在windows系統上,java擷取本地ip的方法。貼代碼: package com.herman.test;import java.net.InetAddress;/** * @see 擷取電腦ip * @author Herman.Xiong * @date 2014年5月16日 09:35:38 */public
Time of Update: 2018-07-26
在Linux shell命令中expr雖然不是很起眼,但是它的作用是非常大的。到目前為止,我個人看來最大的作用就是兩個——四則運算和字串的操作。 先說四則運算,在Shell中四則運算不能簡簡單單的加減乘除,應該要寫如下的格式: $val1=`$val2 - 1`
Time of Update: 2018-07-26
不知道大家那有沒有要清理的這個事情。需要清理目錄曆史檔案。可能後續也會有很多其他地方需要清理曆史檔案,可能會用到。 我這兩天空閑寫了個指令碼,清理比較方便,有要進行清理的大量曆史檔案的話可以用。 指令碼用到的命令只有linux才有,像solaris等就不支援,所以只能在linux上運行。如果是nas儲存的話,可以掛載到一個linux主機上跑指令碼清理。
Time of Update: 2018-07-26
如果使用Windows編輯的 shell指令碼中行尾有可能存在“^M”符號 因為MS-DOS及Windows是斷行符號+換行來表示換行,因此在Linux下用Vim查看在Windows下用VC寫的代碼,行尾後的“^M”符號,表示的是符。 在Vim中解決這個問題,很簡單,在Vim中利用替換功能就可以將“^M”都幹掉,鍵入如下替換命令列: 1)vi -b setup.sh 2)在命令編輯行<就是: 按ESC鍵 然後shift+:冒號>輸入:%s/^M//g 注意:
Time of Update: 2018-07-26
項目發布,寫了個shell指令碼來啟動項目,包括項目的啟動,關閉 重啟 包括項目的日誌輸出到指定的檔案 ,不為別的,就為了下次項目發布的時候,能夠直接把指令碼拷貝過去用就行啦。哈哈。。 把這段shell指令碼複製過去,只要把紅色部分改為你自己項目的東西,就可以直接運行啦 。 然後賦值該指令碼執行許可權就行了:chmod 777 指令碼名 1.啟動 ./blog.sh
Time of Update: 2018-07-26
*反引號‘’和$()* 我們先來示範下使用反引號和$()的輸出結果對比 之所以得出此結果,是因為$()中的\對$做了轉義 得出此結果,是因為反引號中的兩個\=\,所以保留了本身意思 在`中,\\=\,此時剩下兩個\,所以一個相當於轉義,所以輸出了1個\ ![這裡寫圖片描述](https://img-blog.csdn.net/20160809212156291) ![這裡寫圖片描述](https://img-blog.csdn.net/201608092122
Time of Update: 2018-07-26
命令替換 在bash中,$( )與` `(反引號)都是用來作命令替換的。命令替換與變數替換差不多,都是用來重組命令列的,先完成引號裡的命令列,然後將其結果替換出來,再重組成新的命令列。 exp 1 $ echo today is $(date "+%Y-%m-%d")today is 2014-07-01 $( )與`` 在操作上,這兩者都是達到相應的效果,但是建議使用$( ),理由如下:
Time of Update: 2018-07-26
cut cut命令可以從一個文字檔或者文字資料流中提取文本列。 cut文法 [root@www ~]# cut -d'分隔字元' -f fields <==用於有特定分隔字元[root@www ~]# cut -c 字元區間 <==用於排列整齊的資訊選項與參數:-d :後面接分隔字元。與 -f 一起使用;-f :依據 -d 的分隔字元將一段資訊分割成為數段,用 -f 取出第幾段的意思;-c :以字元 (characters)
Time of Update: 2018-07-26
原文:http://blog.pureisle.net/archives/1352.html Shell 提供大量的基本運算操作,在指令碼中非常有用。Shell 對您提供的算術運算式求值,執行運算展開式,此時使用得出的結果替換運算式。以下面的格式提供運算運算式:$(( expression )) $ echo $((5*(3+3))) 30 $ result = $(($myvar-10)) shell提供方便的數之間的進位轉換: $ echo $
Time of Update: 2018-07-26
嚴格來說,shell中沒有運算式的概念。Shell本身其實只是一堆命令的集合,當然也不是胡亂的堆在一起,而是有一定的組織。只是這個組織不那麼嚴謹,所以本文不是要真的總結所謂的運算式,而是把shell中一些犄角旮旯的東西拼湊在一起,實在不知道它們屬於那個分類。。 命令代換 其實就是這篇文章中的反引號所起的作用。但是命令代換還有另一種形式,如下: m@meng:~/scripts$ m=`date`m@meng:~/scripts$ echo $m2015年 06月 2
Time of Update: 2018-07-26
linux下的exec函數不是單一的函數,而是一個函數組,分別為: int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg, ..., char * const envp[]);int execv(const char *path, char
Time of Update: 2018-07-26
轉貼: http://blog.csdn.net/allenlinrui/article/details/7490206 使用crontab你可以在指定的時間執行一個shell指令碼或者一系列Linux命令。例如系統管理員安排一個備份任務使其每天都運行 入門 # crontab –e 這樣可以已編輯模式開啟個人的crontab設定檔,然後加入一下這行: 0 0 * * * /home/linrui/XXXXXXXX.sh
Time of Update: 2018-07-26
2017-10-04添加背景交代: suse10,華為單板,前四個方法皆是小白在實際linux環境中測試結果,可能linux版本的區別,並不會所有情境都相容...另一個小白2015-01月已正式轉型為JAVA開發,現有公司的資訊安全上不了CSDN,有些反饋比較延遲...特此說明下.... 1. 單行注釋 眾所周知,# 比如想要注釋:echo “ni” # echo "ni" 2. 多行注釋: 法一: : <