Shell指令碼一次讀取檔案中一行的2種寫法_linux shell

寫法一:複製代碼 代碼如下:#!/bin/bashwhile read linedo      echo $line     #這裡可根據實際用途變化done < urfile寫法二:複製代碼 代碼如下:#!/bin/bashcat urfile | while read linedo    echo $linedone注意:以上代碼中urfile

Shell中的${}、##和%%使用範例_linux shell

今天看一個指令檔的時候有一些地方不太懂,找了一篇文章看了一些,覺得不錯,保留下來。 假設我們定義了一個變數為:複製代碼 代碼如下:file=/dir1/dir2/dir3/my.file.txt可以用${ }分別替換得到不同的值:複製代碼 代碼如下:${file#*/}:刪掉第一個 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt${file##*/}:刪掉最後一個 /  及其左邊的字串:my.file.txt${file#*.}:刪掉第一個

ssh遠程執行命令方法和Shell指令碼執行個體_linux shell

寫這篇部落格之前,我google了一堆相關文章,大都是說修改/etc/sudoers,然後NOPASSWD:指定的cmd,但是真心不管用,沒有遠程虛擬終端這個方法就是浮雲,ubuntu10.04 server 親測!!ssh執行遠程操作命令格式複製代碼 代碼如下:ssh -p $port $user@$p 'cmd'    $port : ssh串連連接埠號碼  $user: ssh串連使用者名稱  $ip:ssh串連的ip地址 

shell 1>&2 2>&1 &>filename重新導向的含義和區別_linux shell

當初在shell中, 看到">&1"和">&2"始終不明白什麼意思.經過在網上的搜尋得以解惑.其實這是兩種輸出.在 shell 程式中,最常使用的 FD (file descriptor) 大概有三個, 分別是:0 是一個檔案描述符,表示標準輸入(stdin)1 是一個檔案描述符,表示標準輸出(stdout)2 是一個檔案描述符,表示標準錯誤(stderr)在標準情況下, 這些FD分別跟如下裝置關聯: stdin(0): keyboard 鍵盤輸入,並返回在前端 stdout(1):

Shell指令碼實現檢測Cygwin最快的鏡像網站_linux shell

這是一個 shell 指令碼,所以首先你需要安裝一個基本的 Cygwin 環境,當然還有 curl。原理很簡單,先從 cygwin.com 下載最新的 mirrors.lst 鏡像列表,簡單處理一下後,利用 curl 以此檢測每個網站的連線速度,並將結果記錄下來,最後再排個序,顯示出最快的幾個網站。在使用的過程中,我發現檢測到的最快的 mirror,實際上使用速度並不一定是最快的,這可能和伺服器有關係,畢竟 curl 檢測的時間只是讀取 mirror 首頁的時間。不過每個 mirror

shell指令碼實現隨機產生10個8位密碼_linux shell

隨機產生10個8位密碼shell指令碼1.首位大寫字母2.中間六位大小寫字母數字隨機混合3.第八位[0-9]#!/bin.bashfor i in {1..10}doA=`head -c 500 /dev/urandom | tr -dc a-zA-Z | tr [a-z] [A-Z]|head -c 1`B=`head -c 500 /dev/urandom | tr -dc a-z0-9A-Z | head -c 6`C=`echo $RANDOM|cut -c 2`echo

linux shell實現守護進程指令碼_linux shell

嵌入式初學者,第一次上傳代碼。昨天做了一個udhcpd與udhcpc的守護,目前只會用shell模仿編寫,還有什麼方法可以做守護呢?#! /bin/sh#進程名字可修改PRO_NAME=udhcpcWLAN=ra0 while true ; do # 用ps擷取$PRO_NAME進程數量 NUM=`ps aux | grep ${PRO_NAME} | grep -v grep |wc -l`# echo $NUM# 少於1,重啟進程 if [ "${NUM}" -lt "1"

Linux Shell指令碼實現檢測tomcat_linux shell

Linux Shell指令碼檢測tomcat並自動重啟後台運行命令 sh xxx.sh &查看背景工作:jobs召喚到前台:fg jobs編號可以刪掉while迴圈的代碼放到crontab裡面定時執行,可以將指令碼直接後台運行,#!/bin/bashwhile [ true ]do url="http://www.jb51.net/"; httpOK=`curl --connect-timeout 10 -m 60 --head --silent $url | awk 'NR==1{

shell指令碼實現監控shell指令碼的執行流程及變數的值_linux shell

很多時候,我們都會寫shell程式來完成一些不用重複造輪子的時刻,但是,又因為shell語句中也會有函數,也會有變數,在運行後到底執行了哪些相關的操作,就需要對具體執行過程中的變數等可變的因素的監控,那麼我們下面就寫個小小的shell例子,來完成這個對執行過程中條件陳述式中的變數的變化的監控和整個程式的執行流程的觀察。shell程式碼:複製代碼 代碼如下:#!/bin/bashfunction setlogfile{    if ! [ -z "$1" ];

shell產生簡單格式的xml執行個體_linux shell

以下是shell代碼:create_xml.sh複製代碼 代碼如下:#! /bin/bash#author: dengzhaoqun#date: 201202/14outfile=outtabs=0put(){ echo '<'${*}'>' >> $outfile}put_head(){ put '?'${1}'?'}out_tabs(){ tmp=0 tabsstr="" while [ $tmp

Shell指令碼實現自動輸入密碼登入伺服器_linux shell

使用Linux的程式員對輸入密碼這個舉動一定不陌生,在Linux下對使用者有嚴格的許可權限制,幹很多事情越過了許可權就得輸入密碼,比如使用超級使用者執行命令,又比如ftp、ssh串連遠程主機等等,如下圖:那麼問題來了,在指令碼自動化執行的時候需要輸入密碼怎麼辦?比如你的指令碼裡有一條scp語句,總不能在指令碼執行到這一句時手動輸入密碼吧。針對於ssh或scp命令,可能有人會回答是建立信任關係,關於建立ssh信任關係的方法請自行百度Google,只需要兩行簡單的命令即可搞定,但這並不是常規的解決方

Shell實現文本去重並操持原有順序_linux shell

簡單來說,這個技巧對應的是如下一種情境假設有文本如下複製代碼 代碼如下:ccccaaaabbbbddddbbbbccccaaaa現在需要對它進行去重處理,這個很簡單,sort -u就可以搞定,但是如果我希望保持文本原有的順序,比如這裡有兩個aaaa,我只是希望去掉第二個aaaa,而第一個aaaa在bbbb的前面,去重後仍舊要在它前面,所以我期望的輸出結果是複製代碼

擷取兩個日期間隔時間的shell指令碼代碼_linux shell

複製代碼 代碼如下:#!/bin/sh# 擷取所在季度的第一天,到昨天的日期間隔# link:www.jb51.net# date:2013/2/28day=`date -d "1 days ago " "+%Y%m%d"`;year=`expr substr ${day} 1 4`;month=`expr substr ${day} 5 2`;s_date=$year"0101"if [ "$month" == "01" ] || [ "$month" == "02" ] || [

用shell命令讀取與輸出資料的代碼_linux shell

shell指令碼讀取資料有以下幾種方式:1.鍵盤輸入,預設2.從檔案中讀取3.通過管道命令傳遞echo的功能:\c :不換行\f :進紙\t :跳格\n :換行\表示轉義,例如:"\"/dev/rmt0"\"翻譯為,"/dev/rmt0"read:從鍵盤或檔案的某一行文本中讀取資訊,並將其賦給一個變數。複製代碼 代碼如下:[jb51]/>read namehello i am a regular user[jb51]/>echo $namehello i am a regular

shell數組常用執行個體分享_linux shell

說明:shell中數組的下標預設是從0開始的1、將字串放在數組中,擷取其長度複製代碼 代碼如下:#!/bin/bashstr="a b --n d"array=($str)length=${#array[@]}echo $lengthfor ((i=0; i<$length; i++))doecho ${array[$i]}done執行結果:[oracle@99bill-as9 array]$ sh length.sh4a--nd2)、列印字串:複製代碼

在指定目錄尋找指定尾碼檔案的shell指令碼代碼_linux shell

複製代碼 代碼如下:#!bin/sh  # 在指定位置尋找指定尾碼的檔案,包括子目錄  # 用法:  # findf $1 $2  # 第一個參數為尾碼  # 尋找指定尾碼的檔案並列印出來  # link:www.jb51.net# date:2013/2/26f()  {    list=`find $2|grep "/.$1/>"`    for i in

防止ARP攻擊的shell代碼_linux shell

複製代碼 代碼如下:#!/bin/bashdeclare gw=`route -n | grep -e '^0.0.0.0'`declare gwname=`echo $gw | grep -oe '\w*$'`declare gwip=`echo $gw | grep -oe '[0-9]\{2,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'`declare gwmac=`arp -n | grep -e $gwip | grep -oe '[0-

備份網站內容的shell指令碼代碼_linux shell

備份網站內容 複製代碼 代碼如下:#!/bin/bash#指定啟動並執行指令碼shell#運行指令碼要給使用者執行許可權bakdir=/backupmonth=`date +%m`day=`date +%d`year=`date +%Y`hour=`date +%k`min=`date +%M`dirname=$year-$month-$day-$hour-$minmkdir $bakdir/$dirnamemkdir $bakdir/$dirname/confmkdir

用來記錄登入後使用命令的shell指令碼_linux shell

複製代碼 代碼如下:#/bin/bash# history#把以下代碼直接粘貼到/etc/profile後USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`HISTDIR=/var/log/.histif [ -z $USER_IP  ]then  USER_IP=`hostname`fiif [ ! -d $HISTDIR ]then   mkdir -p

總頁數: 301 1 .... 189 190 191 192 193 .... 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.