shell調用預存程序

#!/bin/sh##--------------------------------------------------------####--功能說明:調用SP(只支援SP有0-4個in參數,2個out參數)##  需要完善的地方:參數類型判斷##--輸入參數:##--        $1:資料庫名稱(必須)##--        $2:資料庫使用者名稱(必須)          ##--        $3:資料庫使用者密碼(必須) ##--        $4:資料庫SP名稱(必須)##

shell 函數的使用

linux指令碼很龐大,也很強大。定義:function 函數名()              //function可省略{   命令}調用:直接在指令碼中使用函數名即可。當然也可帶參數如函數名  參數(用空格隔開) 向函數傳遞參數:像在一般指令碼指令碼中使用參數一樣,使用特殊變數$1 $2 .. $9   函數取得參數後,會將原始參數傳回shell指令碼。可以類似理解為c函數的棧調用 函數的退出:指令碼常用的退出方式有exit 0 (表正常退出)和exit 1 (表示有錯誤退出)而函數

unix shell book

1. 基本常識cat /etc/shellchsh /bin/tcshemacs = vi ?pdkshzshB C KPID is 1 not 0HOME variables是存在passwd裡面的,passwd的最後一個entry是sh.ps -ef SVR4ps au for BSD/Linux psecho $statusecho $?EUID   //can be changed, like chownEGIDreal uid/gid  //from passwd

常用shell指令碼積累

1. date 擷取時間日期DATE=`date +%y-%m-%d-%H`echo ${DATE} 2.cron新增工作計劃#vi /etc/crontab crontab task 格式 * * * * * user task分 時 日 月 周 user task欄位說明1分鐘(0-59)2小時(2-24)3日期(1-31)4月份(1-12;或英文縮寫Jan、Feb等)5周幾(0-6,0為周日;或單詞縮寫Sun、Mon等)6使用者名稱(執行命令時以此使用者的身份)7要執行的命令(路徑)   

Shell指令碼 網卡流量統計)

#!/bin/bashif [ -n "$1" ]; theneth_name=$1elseeth_name="eth0"fii=0send_o=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`recv_o=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print

shell中自動切換使用者刪除日誌小指令碼

為了刪除日誌,需要不斷切換使用者去指定目錄刪除,所以想能否指令碼自動實現。直接su發現不行,所以採用telnet到原生方式。    #!/usr/bin/kshINFILE="file.in"OUTFILE="file.out"rm $INFILErm $OUTFILEmknod $INFILE ptouch $OUTFILE# file description 7 for out and 8 for inexec 7<>$OUTFILE

Shell(6)- 命令執行順序

1、使用&& :& &左邊的命令(命令1)返回真(即返回0,成功被執行)後,& &右邊的命令(命令2)才能夠被執行;2、使用|| :如果| |左邊的命令(命令1)未執行成功,那麼就執行| |右邊的命令(命令2);3、用()和{ }將命令結合在一起 : 為了在當前s h e l l中執行一組命令,可以用命令分隔字元隔開每一個命令,並把所有的命令用圓括弧()括起來。如果使用{ }來代替(),那麼相應的命令將在子s h e l l而不是當前s h e

實現一個檔案夾同步的shell指令碼

實現一個檔案夾同步的shell指令碼演算法: 1.先find /pathname -print >filea #擷取兩個檔案夾裡所有檔案的全名。2.比較檔案,先刪去要同步的檔案夾裡多餘的檔案。接著重新獲得需要同步的檔案夾裡所有檔案的全名。3.比較檔案,把源檔案夾裡增加的檔案CP到要同步的檔案夾中。 這個指令碼是同步/share目錄裡的所有檔案,需要備份到/mnt/d/share #!/bin/bashmount /dev/hda6 /mnt/d 2>/dev/null ;

利用shell指令碼對大檔案進行分割

 有系統營運的過程中,記錄檔往往非常大,這樣就要求對記錄檔進行分割,在此特用shell指令碼對檔案進行分割 方法一: #!/bin/bash         linenum=`wc   -l   httperr8007.log|   awk   '{print   $1}'`     n1=1     file=1     while   [   $n1   -lt   $linenum   ]     do                     n2=`expr   $n1   +   99

統計原始碼行數Shell指令碼[00原創]

今天寫了個統計某個目錄下原始碼行數的Shell指令碼,如下:# !/bin/bashfind . -name *.java > srcFilesPathNamecount=$(wc -l srcFilesPathName)    # 記錄源檔案個數echo "源代檔案個數= $count"while read pathNamedo    countAndPath=$(wc -l $pathName)    echo $countAndPath >> t1done < sr

一個shell中字串替換的小技巧

replace,它是mysql附帶的。 用法(匹配以比較長為準則):replace from  to  [from to] ...  -- 檔案1 檔案2 --後邊的檔案清單也可能改成標準輸入例如:stlxv@stlxvcomputer:~/workspace/DuniyaSystem/gui/vm$ echo "clash" | replace "h" "cc" clascc所以可以很容易寫出這樣的命令,類似DOS中的copy class.*.h

shell指令碼直接執行沒有問題,crontab定時執行失敗的解決方案

在實行一個shell指令碼(調用java程式修改一個excel檔案)時,單獨sh可以得到想要的結果。但是放到crontab定時執行後,卻沒有得到一個新的excel檔案,log也沒有報錯。查看了路徑,檔案許可權都沒有問題,最後在網上查了一下,發現這樣可以解決問題:將crontab執行的語句進行修改:  15 11 * * * /home/loganalysis/dealexcel.sh >> /home/loganalysis/error.log 2>&1  修改為: 

shell傳時間段參數

#!/bin/shd1=20111201  d2=20120625  time=$(($(date +%s -d ''$d2'') - $(date +%s -d ''$d1'')));  #日期差t=`expr $time / 86400`  #相差天數for ((i=0;i<=$t;i=i+1))do#echo $d1perl xx.pl $d1d1=`date -d ''$d1' UTC 86400 seconds' +"%Y%m%d"`  done說明:d1=`date -d ''

shell基礎67:執行順序(||及&&,{}及())及正則表運算式

From:http://bbs.chinaunix.net/viewthread.php?tid=445229QUOTE:$ unset A $ [ -n "$A" ] && [ "$A" -lt 100 ] || echo 'too big!' too big! 為何上面的結果也可得到呢? 做個記號 網中人第十問 10) && 與 || 差在哪?

shell指令碼中source有關問題

今天遇到個問題,shell指令碼(test.sh)如下:#!/bin/shecho "export monitor=1" >> /etc/profilesource /etc/profile調用後(./test.sh),執行echo $monitor,沒有輸出任何值,但是profile中已經寫進去了手動source /etc/profile後,再次執行echo $monitor,輸出了預期的值可見指令碼中的source

shell常用命令執行個體分析-持續更新中

上接shell常用編程及執行個體 :http://blog.csdn.net/larrylgq/article/details/7333632 1:ls *|while read fn; do grep -v ',11,1108,1133,110816,110816' $fn > /data1/hadoop/back_up/tmp/${fn}_08171819; done ls

mondodb常用shell命令和常用java驅動操作

MongoDB預設將資料存放區在 /data/db 目錄下ubuntu預設安裝在/usr/lib/mongodb下面啟動服務啟動MongoDB伺服器:$sudo  ./mongodb-路徑/bin/mongod啟動shell,它預設串連到localhost:$ sudo ./mongodb-路徑/bin/mongo >命令文法停止服務#!/bin/bashpid=`ps -o pid,command ax | grep mongod | awk '!/awk/ &&

hadoop 建立使用者及hdfs許可權,hdfs操作等常用shell命令

sudo addgroup hadoop#添加一個hadoop組sudo usermod -a -G hadoop larry#將目前使用者加入到hadoop組sudo gedit etc/sudoers#將hadoop組加入到sudoer在root ALL=(ALL) ALL後 hadoop ALL=(ALL) ALL修改hadoop目錄的許可權sudo chown -R larry:hadoop /home/larry/hadoop<所有者:組 檔案>sudo chmod -R

Linux Shell的萬用字元與Regex

Overviewwildcard是由shell處理的, 它只會出現在 command的argument 裡——既不用在 command_name裡, 也不用在 options 上。當在argument中碰到Wildcard時,shell會將其當作路徑或檔案名稱去在磁碟上搜尋可能的匹配:若符合要求的匹配存在,則進行代換(路徑擴充);否則就將該wildcard作為一個一般字元傳遞給command,交由command自行處理。總而言之,wildcard 實際上就是一種shell實現的路徑擴充功能。在

shell 第三章引號和運算子

2.2 引號作用1,雙引號雙引號可以引用除了`(反引號),$,\之外的任一字元2,單引號單引號會忽略任何引用值,換句話說如果屏蔽了其特殊含義,會將引號裡的所有字元,包括引號都作為一個字串3,反引號shell將反引號裡面的內容作為一個命令執行4,\反斜線將特殊字元屏蔽成一般字元& * + ^ ` “ | ?運算子1,位元運算符~op1 反運算子op1<<op2 左移運算子>> 右移運算子& 與比較子^ 異或運算子| 或運算子$[]

總頁數: 301 1 .... 282 283 284 285 286 .... 301 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.