Time of Update: 2018-07-26
shell判斷檔案,目錄是否存在或者具有許可權 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #這裡的-x
Time of Update: 2018-07-26
linux 下 for 迴圈中可以使用 break 和 continue 關鍵字來跳出迴圈, 和java 用法一致 一 常用for迴圈結構 #文法一for 變數 in 值1 值2 值3.. do 程式塊兒 done##文法二for 變數 `命令` do 程式塊兒 done##文法三for ((初始值; 迴圈控制; 變數變化)) do 程式塊兒 done 二 常用測試結構 1.
Time of Update: 2018-07-26
今天遇到一個問題,需要判斷目錄下是否存在.c檔案。我使用了if [ -f *.c ],用-f和萬用字元來判斷是否有.c的檔案存在,然而linux一直報錯“unexpected operator”,因此在-f下,後面是不能使用萬用字元的。 後來,我想了一個土辦法,if [ -n "'ls *.c'"
Time of Update: 2018-07-26
背景介紹: 項目有兩個記錄檔夾,一個是tomcat自身的一個在項目外,故兩個目錄。 該指令碼使用過程中配合crontab每周一次,可以做到不重啟tomcat catalina.out正常的情況下達到記錄備份的功能。 #!/bin/sh##2016-3-25#andre.yanglog_path=/home/app/logs#tomcat_dir=`dirname $0`catalina_path=/home/app/apache-tomcat-7.0.57back_path=/
Time of Update: 2018-07-26
1、編輯detailAppBackup.sh 輸入: #!/bin/sh#Copyright(c) 2010-2011 luoch (luocheng.cn@luocheng.cn) #Backup the detail files and update, clear logs#Version 0.1.1echo "=== Start deleting logs ==="rm -vf `find /opt/apache/htdocs/detail/app/log
Time of Update: 2018-07-26
Linux shell字串截取很有用,有八種方法: 假設有變數 var=http://www.aaa.com/123.htm 1. # 號截取,刪除左邊字元,保留右邊字元。 echo ${var#*//} 其中 var 是變數名,# 號是運算子,*// 表示從左邊開始刪除第一個 // 號及左邊的所有字元 即刪除 http:// 結果是 :www.aaa.com/123.htm 2. ## 號截取,刪除左邊字元,保留右邊字元。 echo
Time of Update: 2018-07-26
首先shell中只有字串這一種類型,沒有整形或者浮點型。 但是在定義變數時,可以採用單引號,雙引號和不加引號。不加引號,如果變數內部有空白字元,則會被截斷,所以這種情況必須加引號,單引號和雙引號的區別就是變數替換,單引號不會替換。 shell中用作條件測試的文法有兩種[]和test。一般用[]更多,如果為了避免太多的[],可以用test。 用[]時要注意,括弧前後都必須有空格,否則報錯。 在測試塊內部,所能用的我們在其他語言裡使用的比較符只有四種:== != >
Time of Update: 2018-07-26
Shell 裡面的中括弧(包括單中括弧與雙中括弧)可用於一些條件的測試: 算術比較, 比如一個變數是否為0, [ $var -eq 0 ]。 檔案屬性測試,比如一個檔案是否存在,[ -e $var ], 是否是目錄,[ -d $var ]。 字串比較, 比如兩個字串是否相同, [[ $var1 = $var2 ]]。 [] 常常可以使用 test 命令來代替,後面有介紹。 算術比較 對變數或值進行算術條件判斷: [ $var -eq 0 ] #
Time of Update: 2018-07-26
一些特殊的符號 $# 傳遞到指令碼的參數個數 $* 以一個單字串顯示所有向指令碼傳遞的參數。與位置變數不同,此選項參數可超過9個 $$ 指令碼啟動並執行當前進程ID號 $! 後台啟動並執行最後一個進程的進程ID號 $@ 與$* 相同,(但是使用時加引號,會有所不同) $-
Time of Update: 2018-07-26
最近開始學bash shell,感覺不知道從何入手,不知道有什麼好的工具軟體包來學習它。先找一下: yao@wuyao:~$ apt-cache search bash apparix - console-based bookmark tool for fast file system navigation backup-manager - command-line backup tool bash - The GNU Bourne Again SHell
Time of Update: 2018-07-26
內容目錄: find 檔案尋找 grep 文本搜尋 xargs 命令列參數轉換 sort 排序 uniq 消除重複行 用tr進行轉換 cut 按列切分文本 paste 按列拼接文本 wc 統計行和字元的工具 sed 文本替換利器 awk 資料流處理工具 迭代檔案中的行、單詞和字元 本文將介紹Linux下使用Shell處理文本時最常用的工具:
Time of Update: 2018-07-26
1 PATH環境變數 2 重新導向的使用 0 標註輸入 預設鍵盤輸入,可以用其他內容來重新導向1 標準輸出 螢幕上的正確輸出2 錯誤輸出 螢幕上的錯誤輸出&> 重新導向全部輸出重新導向符號有:> >> 2>&1 表示將錯誤的輸出重新導向為標準輸出例1find /etc/ -name "*.conf" >> /tmp/file1
Time of Update: 2018-07-26
因工作需要,需要使用shell開發一些小工具,當使用數組作為函數參數時,發現只能傳遞數組的第一個元素,數組後面的元素不能傳遞到函數內。 #!/bin/bashfunction showArr(){ arr=$1 for i in ${arr[*]}; do echo $i done}regions=("GZ" "SH" "BJ")showArr $regionsexit 0 把代碼儲存為test.
Time of Update: 2018-07-26
在剛剛學習寫shell 批處理時候,進行邏輯運算中,少不了需要進行基礎的:四則運算,這裡說說在linux shell 裡面簡單的實現方法。 1.簡單方法 [chengmo@centos5 ~]$ b=$((5*5+5-3/2)) [chengmo@centos5 ~]$ echo $b29 在linux shell中,我們可以使用 $(()) 將運算式放在括弧中,即可達到運算的功能。 2.其它方法:
Time of Update: 2018-07-26
引用:一、使用者登陸進入系統後的系統內容變數: $HOME 使用者自己的目錄 $PATH 執行命令時所搜尋的目錄 $TZ 時區 $MAILCHECK 每隔多少秒檢查是否有新的信件 $PS1 在命令列時的提示號 $PS2 當命令尚未打完時,Shell 要求再輸入時的提示號
Time of Update: 2018-07-26
data命令式linux下的時間顯示命令,不是time命令,time命令是對一個command的計時命令: man date … %m month (01..12) %M minute (00..59) %n a newline %N nanoseconds (000000000..999999999) %p locale’s equivalent of either AM or PM; blank if not known %
Time of Update: 2018-07-26
前言 Linux shell指令碼基礎學習我們這裡就差不多講完了,函數相信大家都不陌生吧,直接入正題吧~ 原文連結請標明: http://blog.csdn.net/u011974987/article/details/52718164 本文出自:【stromxu的部落格】 本文 繼上篇部落格之後 shell 函數 Linux shell 可以使用者定義函數,然後在shell指令碼中可以隨便調用。 shell 中函數的定義格式如下: function_name
Time of Update: 2018-07-26
如果對linux shell 數組不是很熟悉的話,請看上一篇文章:linux shell 數組建立及提示 ,這篇文章主要講是動態產生數組系列。方法應該很多,我這裡主要以一個求和計算的題目為例進行分析。 題目:請用linux shell 寫一段指令碼,實現從1..1000中所有偶數的和值。 方法一: 通過while 迴圈得到需要的結果: start=1; total=0;
Time of Update: 2018-07-26
cat pushFileToRemoteService.sh #!/bin/sh BASEDIR="`dirname $0`" ARG_CNT=$# if [ $ARG_CNT -lt 3 ]; then echo "please use: $0 dst_ip sshUser
Time of Update: 2018-07-26
1.開機檔案: service-restart.sh #!/bin/sh## java envsource /etc/profileexport JAVA_HOME=/usr/local/jdk1.7.0_75export JRE_HOME=$JAVA_HOME/jreif [ $# != 3 ] ; then echo "USAGE: $0 SERVICE_DIR SERVICE_NAME_PRE DISCONF_ENV" echo " e.g.: $0