Time of Update: 2018-12-03
在shell中定義函數可以使代碼模組化,便於複用代碼。不過指令碼本身的變數和函數的變數的範圍問題可能令你費解,在這裡梳理一下這個問題。(1)Shell指令碼中定義的變數是global的,其範圍從被定義的地方開始,到shell結束或被顯示刪除的地方為止。例1:指令碼變數的範圍#!/bin/bash#define the function ltx_funcltx_func(){ echo $v1 #modify the variable v1 v1=200 }#define
Time of Update: 2018-12-03
必須以#!/bin/sh開始用#號開始一行注釋$#表示該指令碼傳入的參數個數$1,$2,...表示第1個參數,第2個參數,...shift用於讓$n表示的參數移向下一個參數,這在for迴圈中有用。比如$1表示第一個參數,經過shift後,$1相當於原來的$2所表示的參數,依次類推。if語句if [ ] ; then...fifor語句for i in $@; do...done上面的$@是所有傳入參數的集合。while語句while [ ] ; do...doneswitch語句case "$1
Time of Update: 2018-12-03
POSITION:中文實體書的65頁英文PDF電子書的104頁 檔案datafile內容如下:Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500Igor Chevsky:385-375-8395:3567 Populus Place,
Time of Update: 2018-12-03
#! /bin/bash#script filename:addbook.bsh#comment:add info to datafile#datafile:conn.dat#initialize the variablesDATAFILE="conn.dat"NAME=""PHONE=""ADDRESS=""EMAIL=""#check in argument list then add info to datafileif [ $# -lt 1 ];thenecho "Input some
Time of Update: 2018-12-03
[ -a FILE ] 如果 FILE 存在則為真。 [ -b FILE ] 如果 FILE 存在且是一個塊特殊檔案則為真。 [ -c FILE ] 如果 FILE 存在且是一個字特殊檔案則為真。 [ -d FILE ] 如果 FILE 存在且是一個目錄則為真。 [ -e FILE ] 如果 FILE 存在則為真。 [ -f FILE ] 如果 FILE 存在且是一個普通檔案則為真。 [ -g FILE ] 如果 FILE 存在且已經設定了SGID則為真。 [ -h
Time of Update: 2018-12-05
$ORACLE_HOME/bin/sqlplus -S username/password@instanceName > /dev/null 2>&1 <<!!#對sqlplus作一些設定,使之只輸出我們需要的文本set echo offset pagesize 0set verify offset feedback offset termout offset linesize 3000set trimspool on#查詢輸出到臨時檔案spool
Time of Update: 2018-12-05
#!/bin/bash( echo "user" sleep 2 echo "passwd" sleep 3 echo "do something in remote device" sleep 3 echo "exit") | telnet IP以上是非互動式用法. 如果需要互動式用法, 可以使用expect, 以後再補充#!/bin/sh ( echo sybase sleep 2 echo sybase sleep 3 echo "\n"
Time of Update: 2018-12-05
公司網路太不給力,sync代碼居然只有可伶的15kB/s的速度。。。,更讓人罵娘的是------- 還總斷線!!! 忍無可忍去網上找了一個shell指令碼: #!/bin/bashecho "======start repo sync======"repo syncwhile [ $? = 1 ]; doecho “======sync failed, re-sync again======”sleep 3repo syncdone 指令碼先執行一次 repo sync命令,然後迴圈判斷$?
Time of Update: 2018-12-04
最後要介紹的是 shell script 設計中常見的"迴圈"(loop)。所謂的 loop 就是 script 中的一段在一定條件下反覆執行的代碼。 bash shell 中常用的 loop 有如下三種: * for * while * until for loop 是從一個清單列表中讀進變數值,並"依次"的迴圈執行 do 到 done 之間的命令列。 例: for var in one two three four five do echo ----------- echo '$var
Time of Update: 2018-12-05
UNIX Shell 編程(3)-UNIX Shell的Regex 匹配任何單個字元:句點(.)比如:r.表示匹配r後跟任一個字元的模式。匹配行首符號:^比如:^George表示匹配以George開頭的行匹配行尾符號:$比如:contents$表示匹配在行尾的字串contents。GNU Ed 0.8的用法[root@localhost programs]# ed intro 253/.../
Time of Update: 2018-12-05
1. ctrl+A 返回最前邊的字元。2. ctrl+R 查詢history時,提示用過的command3. vi中移動到行頭,按 數字0 ,移動到行尾按 $ 即可!4. wget httpd://afdasfd.com 或者 svn co httpd.//name.com 或者 svn export url都可以下載5. vi&vim copy: :1,6yàEnter (複製1-6行) y=yankdelete:
Time of Update: 2018-12-05
每一個在UNIX/Linux上工作的程式員可能都擅長shell指令碼編程。但大家解決問題的方式卻不盡相同,這要取決於對專業知識的掌握程度、使用命令的種類、看待問題的方式等等。對於那些處在shell指令碼編程初級階段的程式員來說,遵循一些恰當的做法可以協助你更快、更好的學習這些編程技巧。下面,我們就來討論這些能協助你學習shell指令碼編程的方法吧。1、多動手你想學習shell指令碼編程,這很不錯。於是你拿了一本書開始學習。一些人會首先通讀整本教材後再上機練習。這種方法可能適用於一些人,但我卻不太
Time of Update: 2018-12-05
--------------------該指令碼首先分機然後格式化。一個fat分機,一個ext3分區-------------------#! /bin/sh##分區並格式化SD卡指令碼#usage mksdboot.sh --device /dev/sdbVERSION="0.1"execute (){ $* >/dev/null if [ $? -ne 0 ]; then echo echo "ERROR: executing $*"
Time of Update: 2018-12-03
1,寫在前面 這是系列學習文檔,基於互連網的分享精神,主要來源於論壇上的shell專區,有整理而來,本身是一本書上的內容,所以著作權麼屬於書的原作者,這裡我們只做學習材料,其實這幾篇文檔整理還是很飛逝間的,畢竟論壇上格式還是比較難以閱讀的,起碼沒什麼樂趣,當然還是向斑竹表示敬意,如果您覺得此系列文章不妥,請告知。
Time of Update: 2018-12-05
Shell版本sh:Bourne Shell,最初UNIX的shell。csh:C shell。ksh:Korn shell。bash:Bourne Again Shell。 Linux預設shell。tcsh:C shell的擴充。pdksh:ksh不免費,這個免費。echo -n "Date and time is:" -n不換行。echo "your name is: `whoami` "
Time of Update: 2018-12-05
本文也即《Learning the bash Shell》3rd Edition的第五章Flow Control之讀書筆記之三,但我們將不限於此。flow control是任何程式設計語言中很常用的部分,也包括了case。在這裡,我們將繼續學習他們。 case通過檢測字串的樣式是否匹配,數目是否相等,進行相應不同的處理。將if-then-else的結構修改為更好的閱讀方式,格式如下:case expression in pattern1 ) statements
Time of Update: 2018-12-03
Linux手機DIY.Shell應用擴充一.隨機來電鈴聲(E680系列)草木瓜2007-03-18一、什麼是Shell 在開始正題前,總習慣於從網上抄一些東東,來“豐富”下文章的內容。 Shell是一種具備特殊功能的程式,它是介於使用者和 UNIX/Linux 作業系統核心程式(kernel)間的一個介面。換而言之,就是你平常要想操作 UNIX/Linux 的話,就需要通過Shell來進行。 為什麼我們說 Shell
Time of Update: 2018-12-04
1.查看當前系統記憶體使用量狀況(free):free命令有以下幾個常用選項:-b 以位元組為單位顯示資料。-k 以KB(KB)為單位顯示資料(預設值)。-m 以兆(MB)為單位顯示資料。-s delay 該選項將使free持續不斷的重新整理,每次重新整理之間的間隔為delay指定的秒數,如果含有小數點,將精確到毫秒,如0.5為500毫秒,1為一秒。free命令輸出的表格中包含以下幾列:total: 總計實體記憶體的大小。used: 已使用的記憶體數量。free:
Time of Update: 2018-12-04
@set的嚴謹使用@set -eux-e 如果命令帶非零值返回,立即退出-u 當執行參數括展時,把非設定變數作為錯誤處理(如果擴充企圖 出現在非設定變數中,shell顯示錯誤資訊.如果不是互動式,則帶非零值退出) -x 在每個簡單命令被擴充之後,顯示PS4擴充值,之後是要執行的命令 @set
Time of Update: 2018-12-04
【破解作者】 layper【作者郵箱】 layper2002@yahoo.com.cn【作者首頁】 www.sy135.com【使用工具】 peid,od,【破解平台】 Win9x/NT/2000/XP【軟體名稱】 殼亂彈單步分析(5)【破解聲明】