Linux Bash Shell學習(七):shell編程基礎——運行Shell指令碼、function

  本文也即《Learning the bash Shell》3rd Edition的第四章Basic Shell Programming之讀書筆記,但我們將不限於此。運行shell指令碼程式  一個包含shell命令的指令碼就是一個shell程式,例如.bash_profile。我們建立shell指令碼,允許的時候可以通過兩種方式:一、source ;二、只敲入檔案名稱,按斷行符號就可以執行,這種方式更為便捷。我們需要將檔案放置在命令搜尋路徑下(在Linux

Linux指令碼Shell命令

在向大家詳細介紹linux編譯之前,首先讓大家瞭解下Linux指令碼Shell命令。然後講解在shell指令碼中可以使用任意的unix命令。文法基本介紹1.開頭程式必須以下面的行開始(必須方在檔案的第一行):#!/bin/bash符號#!用來告訴系統它後面的參數是用來執行該檔案的程式。在這個例子中我們使用/bin/bash來執行程式。當編輯好指令碼時,如果要執行該指令碼,還必須使其可執行。要使指令碼可執行:編譯 chmod +x filename 這樣才能用./filename 來運行或者使用:

排序演算法-Shell sort

/* * ShellSort.cpp * * Created on: 2013-6-1 * Author: jue */#include <iostream>using std::cout;using std::endl;void swap(int &a,int &b){int temp = a;a = b;b = temp;}void shellSort(int datas[],int length){int offset =

在UNIX上後台運行任務(Shell),bg還是nohup

有時候一個任務啟動並執行時間很長,需要將其放在後台運行,否則推出控制台後任務就會被終止,本文講解一下怎麼讓任務在後台運行。比如一個shell指令碼,longjobs.sh運行要很長時間,並且運行中有資訊列印到控制台。1,如果直接通過

shell 知識點補充(2)-重新導向/ ; , &&, ||/管線命令/grep/sort/ uniq/wc/tee/tr/col/join/paste/expand/split/-

1、重新導向1. 標準輸入(stdin) :代碼為 0 ,使用 < 或 << ;(重寫或追加)2. 標準輸出(stdout):代碼為 1 ,使用 > 或 >> ;3. 標準錯誤輸出(stderr):代碼為 2 ,使用 2> 或 2>> ;eg:yee@Loong:~$ ifconfig > 1.txtyee@Loong:~$ vim 1.txt yee@Loong:~$ ls -al 2.txt >>1.txtls:

關於shell命令的定向輸出 2>&1

mycommand >mylog.txt 2>&1 應該是最經典的用法了。命令的結果可以通過“%>”的形式來定向輸出,%表示檔案描述符:1為標準輸出stdout、2為標準錯誤stderr。系統預設%值是1,也就是“1>”,而1>可以簡寫為>,也就是預設為>。stdout的預設目標是終端,stderr的預設目標為也是終端。我們在批處理中執行: echo text >result.txt ,我們就可以在螢幕上會看到 echo text

shell中提取子串

/* *此文參考地址:*////注意:本人使用ubuntu11.4,使用sh  test 運行shell指令碼報錯,需使用/bin/bash  test 運行才能得到正確的結果shell中字串的截取2010-06-24 00:40str="abc123abcABC"#計算字串的長度echo ${#str}    #12#位置參數有關操作echo ${#*}      #位置參數的個數echo ${#@}      #位置參數的個數和上面的效果一樣echo $*        

shell中條件判斷if中的-z到-d的意思

[ -a FILE ]  如果 FILE 存在則為真。  [ -b FILE ]  如果 FILE 存在且是一個塊特殊檔案則為真。  [ -c FILE ]  如果 FILE 存在且是一個字特殊檔案則為真。  字元型裝置檔案:以單個字元為單位 塊裝置檔案:存取是以一個字塊為單位普通檔案的處理是不必要對硬體進行過多操作的,而字元型裝置和塊裝置就不同了,所以是以特別形式檔案出現.[ -d FILE ]  如果 FILE 存在且是一個目錄則為真。  [ -e FILE ]  如果 FILE

第二章 shell程式設計

shell是使用者與linux系統間介面的程式,它允許使用者向作業系統輸入需要執行的命令,許多強大的功能都能通過shell實現1、重新導向      檔案描述符:0 為一個程式的標準輸入、1為標準輸出、2為標準錯誤輸出      使用 > file.txt 可以將程式標準輸出重新導向到一個檔案,預設情況下會將該檔案的內容覆蓋              >>file.txt   則將程式標準輸出追加到file.txt檔案中   

第一個shell程式:hello world

    1 shell script必須具備可讀與可執行(rx)的許可權。     2 script的執行方式的區別:      1)sh script_name或./script_name:在子進程中執行(一個新的bash環境)            2)source script_name:在父進程中執行    【提示】當子進程完成後,子進程內的各項變數或者操作將會結束而不會傳回到父進程中     3  script的編程習慣          

shell常用編程及執行個體-持續更新中

本文由larrylgq編寫,轉載請註明出處:http://blog.csdn.net/larrylgq/article/details/7395261作者:呂桂強郵箱:larry.lv.word@gmail.com變數:aaa="lv";不要空格echo $aaa->lvecho ${aaa}txt->lvtxtecho $aaa.txt->lv.txt求值:a=1b=21:let:  let c=a+b  echo $c  32:$[]:  d=$[ a + b ] 

Windows 98的Shell語言

 Windows

shell 指令碼集合記錄

#!/bin/bashcat 1 | grep " 403 " | while read linedo index=`expr index "$line" GET` let startindex=$index+3 echo "startindex:"$startindex endindex=`expr index "$line" \?` echo "endindex:"$endindex if [ 0 -eq $

在shell指令碼中調用另一個指令碼

在shell指令碼中調用另一個指令碼    bash shell的命令分為兩類:外部命令和內部命令。外部命令是通過系統調用或獨立的程式實現的,如sed、awk等等。內部命令是由特殊的檔案格式(.def)所實現,如cd、history、exec等等。fork ( /directory/script.sh)首先,我們所執行的任何程式,都是由父行程(parent process)所產生出來的一個子行程(child process),子行程在結束後,將返回到父行程去。此一現像在 Linux

Linux Bash Shell學習(二十):命令列處理

   本文也即《Learning the bash Shell》3rd Edition的第七章Input/Output and Command-Line Processing之讀書筆記之四。我們的目的是把書讀薄。我們將審視Linux系統如何解析bash。  第一步驟:將命令分給為token,根據空格,TAB, NEWLINE, ;, (, ), <, >, |, 以及

Linux Bash Shell學習(十二):流程式控制制——select

  本文也即《Learning the bash Shell》3rd Edition的第五章Flow Control之讀書筆記之四,但我們將不限於此。flow control是任何程式設計語言中很常用的部分,也包括了case。在這裡,我們將繼續學習他們。  select和其他流量控制不一樣,在C這類變成語言中沒有類似的語句(C中的select用於socket,是完全不同的含義,不是流量控制)。格式如下:select name  [in  list ] do

Linux Bash Shell學習(八):shell編程基礎——string操作

  本文也即《Learning the bash Shell》3rd Edition的第四章Basic Shell

shell之“>/dev/null 2>&1”

【轉自】 http://www.ixdba.net/a/os/linux/2010/0422/35.html shell中可能經常能看到:>/dev/null 2>&1 命令的結果可以通過%>的形式來定義輸出分解這個組合:“>/dev/null 2>&1” 為五部分。1:> 代表重新導向到哪裡,例如:echo "123" > /home/123.txt2:/dev/null 代表空裝置檔案3:2>

使用shell提供的命令列編輯功能, 選擇set -o vi 還是 set -o emacs !

今天登入系統, 敲了N多命令後,習慣性的用向上的方向鍵來找尋曆史命令,突然看到了這個:  $^[[A^[[A^[[A  按刪除鍵,出來的是這個:  $ ^H^H^H^H^H^H^H  只能用 Ctrl+BackSpace 才能刪除游標左邊的內容...用的那個不習慣啊~~~!!! - -b後來問到 Wells ,原來只需要做一個小小的設定,在Console中啟用:  $set -o emasc  原因後來上網查了一下,暫且引用一下《FreeBSD使用大全》中的一段內容:--------------

shell中列印命令執行的返回狀態

shell指令檔中有時候需要依據命令執行的結果狀態決定整個shell指令檔的執行路徑。一個簡單的需求就是:判斷某個檔案中是否存在某一行內容,存在則不做任何操作,否則插入該行。判斷檔案中是否存在某行,可以使用grep命令:grep  $line $file如果$file中存在$line,grep執行返回的結果為0,如果不存在返回1,如果$file檔案本身不存在返回2我們可以通過下面的shell代碼進行簡單的驗證:#/bin/bashgrep "abc" filenamereval=$?echo "

總頁數: 301 1 .... 166 167 168 169 170 .... 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.