Time of Update: 2018-12-03
test語句在 等號 前後 都要有空格 , 空格可以多於一個; 推廣一下, 指派陳述式的等號前後不能有空格, 非指派陳述式要有空格(我還不敢絕對的這麼說)雙引號, 就相當於printf下的雙引號;單引號就是一個字串括弧, 裡面的就是字串內容true,比如test下的一個成功匹配, 返回0, 在if下是有效真值聲明一個數字參數: declare -i x,更多declare的用法點擊這裡 shell下啟動並執行指令碼是在登入終端下啟動並執行子終端, 子終端有自己的環境,
Time of Update: 2018-12-03
Shell基本文法Shell基本文法: 像進階程式設計語言一樣, Shell也提供說明和使用變數的功能.對Shell來講,所有變數的取值都是一個字串,Shell程式採用$var的形式來引用名為var的變數的值。Shell有以下幾種基本類型的變數:(1)Shell定義的環境變數: Shell 在開始執行時就已經定義了一些和系統的工作環境有關的變數,使用者還可以重新定義這些變數,常用的Shell環境變數有: HOME: 用於儲存註冊目錄的完全路徑名.PATH:
Time of Update: 2018-12-03
5 while迴圈次數的限制foo=1 //迴圈初值while [ "$foo" -le 2 ] //le :<= while (foo<=2)do echo "ARE YOU THERE"foo=$(($foo+1)) //這種形式很重要 foo++done6 untiluntil conditiondostatementsdoneuntil 迴圈將反覆執行直到條件為真為止
Time of Update: 2018-12-03
2.6.6 命令的執行1 $(command):捕獲一條命令的執行結果並把他用在shell指令碼程式echo The date is $(date) //其結果就是命令的輸出,是字串形式的輸出結果set $(date)echo The month is $2 //通過位置參數來輸出$(date)中的字串2 算術擴充 $((...))x=$(($x+1)) //比起expr要快3 參數擴充unset fooecho ${foo:-bar} :當foo為空白,就設定為bar的值
Time of Update: 2018-12-03
2.4 管道和重新導向2.4.1 重新導向檔案描述符 重新導向 描述 0 < 標準輸入 1 > 標準輸入 2 > 標準錯誤輸出 >> 追加 2>&1
Time of Update: 2018-12-03
編寫簡單的shell命令解析器環境:RedHat 9.0 核心 2.4.20vi 文書編輯器 6.1.320gcc 3.2.2-5 實現步驟: 第0步:寫一個最簡單的shell命令直譯器,本程式取自APUE例1-5,命令不能帶參數。 需要完成的內容如下:命令直譯器首先是一個死迴圈。列印一個命令提示字元。取得命令列輸入放在數組裡面,不要求命令帶參數。可以getc()、fgets()、
Time of Update: 2018-12-03
在makefile中,會經常使用shell命令,也經常見到$var 和
Time of Update: 2018-12-03
假設兩個檔案FILE1和FILE2用集合A和B表示,FILE1內容如下:abcedaFILE2內容如下:cdac基本上有兩個方法,一個是comm命令,一個是grep命令。分別介紹如下: comm命令, Compare sorted files FILE1 and FILE2 line by line. With no options, produce three-column output. Column one contains lines unique to FILE1, column
Time of Update: 2018-12-03
Time of Update: 2018-12-03
adb shell dumpsys meminfo會得到如下資訊:Currently running services: meminfo-------------------------------------------------------------------------------DUMP OF SERVICE meminfo:Applications Memory Usage (kB):Uptime: 5712383 Realtime: 5712383** MEMINFO in
Time of Update: 2018-12-03
本指令碼為自動備份svn目錄下的版本庫,通過awk來遍曆庫,這樣做的好處是當有人添加新的版本庫之後不用更改代碼,程式會自動認出來。一下程式為周全備份指令碼#!/bin/sh#version 1.0#updated 2008.9.2SVN_ROOT="/home/svnroot"SVN_BACKUP="/home/svnbackup"SVN_BACKUP_SERVER="root@linux36:/home/svnbackup"cd $SVN_ROOTecho "$PWD"SVNADMIN="$(
Time of Update: 2018-12-03
字串比較: 結果string1 = string2 string1等於string2:True, 否則Falsestring1 != string2 string1等於string2:False, 否則True-n
Time of Update: 2018-12-03
#!/bin/sh #第一行告訴系統誰來執行這傻逼玩意兒$# #傳送到指令碼的參數個數$$ #指令碼運行時當前進程的ID號,常用作臨時變數的尾碼,如haison.$$$! #後台啟動並執行最後一個進程的ID號chmod u+x abc.sh #賦予user執行許可權chmod a+rwx abc.sh #賦予所有人所有許可權./abc.shwho -a #顯示使用者的所有資訊echo -e "\033[31m \033[05m error: no log type $1. \03
Time of Update: 2018-12-03
1、echo $?:任何命令進行時都將返回一個退出狀態,輸出上一個命令的退出狀態,0表示退出成功。2、測試檔案狀態:[ -w text ]測試檔案是否可寫,echo $?輸出為0表示可寫,否則不可寫 [ -d text ]檔案是不是目錄,echo $?輸出為1表示不是目錄。0表示符合,1表示不符合。 [ -w text -a -d text ]檔案是不是可寫並且是不是路徑,-a表示同and,-o表示or- d 目錄
Time of Update: 2018-12-03
echo "*****************Ess開始升級****************************"curDate=`date '+%Y%m%d'`cp ./applications/xxxx.ear ./applications/xxxx.ear.back${curDate}#檢查升級程式包是否已上傳if [[ -f ./upload/xxxx.ear ]];then echo "*****************要升級的xxxx.ear已上傳**************
Time of Update: 2018-12-03
#ftp地址FTPHOST="130.59.99.110"USERNAME="3weblogic1"PASSWORD="3weblogic1"./exp_lanstop_remindgzip -f SIG_CONF_YEAR.txtmdx=$(csum SIG_CONF_YEAR.txt.gz)#echo $mdxmd5=`echo "$mdx"|awk -F ' ' '{print $1}' ` #echo $md5curdate=`date
Time of Update: 2018-12-03
#/bin/sh #add by zhoujf.free log file;DIR_LIST="/product1/port/bin/ocs_subscriber_import/back"LOG_LIST="*201*.unl"GZ_DAY=3DEL_DAY=30CORE_DAY=7CUR_TIME=`date +"%Y%m%d %T"`echo "START AT [$CUR_TIME]"for dir in $DIR_LISTdo if [ ! -d $dir ];then
Time of Update: 2018-12-03
if [ -z "$1" ] ; thenecho "你沒有輸入執行該shell的參數"exit;fiif [ "$1" != "jf" ] && [ "$1" != "jh" ] ; thenecho "請輸入要上傳的伺服器名稱:jf 經分,jh 稽核"exit;fiCUR_YEAR=`date +"%Y"`month=$(date "+%m"|sed '/^0/ s/0//')permonth=`expr $month - 1`month_len=`expr length
Time of Update: 2018-12-03
我想對一個檔案進行頻繁的操作,要取每行中不同列的值,我知道的方法是while read linedoecho $line | awk '{print $1 }' #取每行的第一列值echo $line | awk '{print $2 }' #取每行的第二列值done <$file感覺這樣很麻煩,不知道有什麼更好一點的方法沒有而且我修改是用sed -i來做 感覺效率也不高,有什麼更好的方法嗎??? if [ -s $filename ]; then
Time of Update: 2018-12-03
counter=`ps -ef | grep sync.BankCardBatchPay | grep -v grep | wc -l`if [ "$counter" -eq 0 ] ; then echo "沒有sync.BankCardBatchPay在運行"else kill -9 `ps -ef|grep sync.BankCardBatchPay |grep -v grep|awk '{print $2}'`fi CLASSPATH="/weblogic2/crm_web/