shell執行多個指令
$n $1 the first parameter,$2 the second...
$# The number of command-line parameters.
$0 The name of current program.
$? Last command or function's return value.
$$ The program's PID.
$! Last program's PID.
[email protected] Save all the parameters.
如果上條指令可以正常執行結束,則
$?為0,否則不為0
例如
ll
echo $?
輸出0
如果本目錄下沒有可以執行程式 aaa
執行 aaa
echo $?
輸出127
(1)在每個命令之間用;(分號)隔開。
(2)在每個命令之間用&&隔開。
&&表示:若前一個命令執行成功,才會執行下一個。這樣,可確保所有的命令執行完畢後,其執行過程都是成功的
這種執行方法,經常運用在自動安裝的Script中。
例如:自動安裝Apache及PHP的Script檔案:
#! /bin/bash
# 解壓
tar xvzf httpd-2.2.tar.gz &&
tar xvzf php-5.3.tar.gz &&
#設定Apache
echo "Configure apache……" &&
cd httpd-2.2 &&
make &&
make install &&
……
echo "done"
echo
這個Script檔案,各指令都用&&串接,因此,若順利執行完畢,表示中間的編譯過程無誤,並且,在執行後,安裝確實是成功的。
另外,在script檔案中,如果某一行太長寫不完,可以行末,放置接續上行的符號"/"。
(3)在每個命令之間用||隔開。
||表示:若前一個命令執行成功,就不會執行下一條了。
(4)也可以把數個命令弄成一組,然後整組去執行它,方法有二:
1、(命令1;命令2;命令3;……)
()會開啟一個子Shell環境來執行此括號中的命令組。
以下是把一組命令放入後臺中執行的範例:
(sort mydate -o test.txt;procdata test.txt) &&
2、{命令1;命令2;命令3;…… } //注意,{的右邊有一空格,}的左邊也有一空格。
與上一種方法不同的是,此法是把這些命令組成在現行的Shell中執行,而非在子Shell中執行。
特別要注意的是,在”{“的右邊 和”}“的左邊,至少要間隔一個以上的空格,而且每個命令都要以;(分號)作為結尾。
還有一種方法,如果上一條指令失敗後,指令碼就停止執行
command1
test $? -ne 0 && exit
command2
相關推薦
shell執行多個指令
$n $1 the first parameter,$2 the second... $# The number of command-line parameters. $0 The name of current program
unix 用shell執行多個sql檔案
#!/bin/sh sqlplus 'user/[email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XXXX.c5xno4i0lfo4.ap-northeast-1.rds.amazonaws.co
shell中執行多個命令的方法
shell中執行多個命令的方法 1、在命令列中同時輸入多個語句: 直接在linux命令列中可以依次執行多個命令,多個命令間可採用“;”、“&&”和"||"分割,三個分隔符作用不同: (1);分割符:前後命令間沒有必然的聯絡,前一個執行結束後、再執行第二個,沒有邏輯關聯;
linux的shell指令碼中執行多個命令的方法
第一種是以分號(;)進行劃分:表示:各命令的執行的果,不會影響其它命令的執行。換句話說,各個命令都會執行,但不保證每個命令都執行成功。 第二種命令之間&&隔開 表示:若前面的命令執
【Jenkins】——shell中執行多個指令碼
前言 前面已經寫了一篇部落格 上篇部落格中只提到了在shell中只執行一個指令碼,生成對應的jtl檔案 並對其進行資料分析。 有些時候我們可能需要測試很多的指令碼,但是因為每
[work] Shell 同時執行多個指令碼
1、背景是 有三個指令碼a.py, b.py, c.py 三個都是爬蟲,裡面都是while(true)方式執行的,不會主動執行結束。 每次啟動他們,就需要: python a.py > logs/a.log python b.py > logs/b.log python c.
shell當中多個命令放在一起執行的幾個方法
1、命令之間用;分割說明:shell命令會按照順序執行下來,但是不能保證每條命令都執行成功栗子:2、命令之間用&&隔開說明:前面的命令執行成功,才會執行後面的命令,否則後面的命令不執行3、命令之間用||隔開說明:前面的命令執行失敗,才會執行後面的命令4、命令之
linux 下shell指令碼執行多個命令的方法
1.每個命令之間用;隔開 說明:各命令的執行給果,不會影響其它命令的執行。換句話說,各個命令都會執行, 但不保證每個命令都執行成功。 2.每個命令之間用&&隔開說明:若前面的命令執行成功,才會去執行後面的命令。這樣可以保證所有的命令執行完畢後,執行過程都是
使用shell並行執行多個指令碼
有沒有一種比較通用的並行執行多個SQL指令碼的方法呢?每種資料庫都提供命令列介面執行SQL語句,因此最容易想到的就是通過初始化多個併發的會話並行執行,每個會話執行一個單獨的查詢,用來抽取不同的資料部分。以Oracle例如,假設要從訂單表抽取資料,訂單表已經是按月做了範圍分
用shell同時執行多個scrapy命令
專案中單機使用shell指令碼進行多個scrapy命令的執行,即同個shell進行多個scrapy命令的執行,這樣會大大提高爬取效率,好好利用CPU使用率 在shell命令列一次執行多個scr
Java異步執行多個HTTP請求的例子(需要apache http類庫)
ride 同步 conn done 例子 latch block org ftw 直接上代碼 package org.jivesoftware.spark.util; import java.io.IOException; import java.uti
怎樣用批處理來執行多個exe文件
asc pri line views bat文件 tro ext sta each 怎樣用批處理來運行多個exe文件 @echo off start *****.exe start *****.exe start *****.exe star
Python開發【筆記】:單線程下執行多個定時器
自動 代碼 python 線程 timer ont -s 大量 過多 單線程多定時器 前言:公司業務需求,實例當中大量需要啟動定時器的操作;大家都知道python中的定時器用的是threading.Timer,每當啟動一個定時器時,程序內部起了一個線程,定時器觸發執行結
使用SQLCMD在SQLServer執行多個腳本
created 告訴 out c盤 order 步驟 null bat文件 mar 概述: 作為DBA,經常要用開發人員提供的SQL腳本來更新正式數據庫,但是一個比較合理的開發流程,當提交腳本給DBA執行的時候,可能已經有幾百個sql文件,並且有執行順
python爬蟲scrapy之如何同時執行多個scrapy爬行任務
還需 學習 lis 參數 文件名 其中 .project 自定義 com 背景: 剛開始學習scrapy爬蟲框架的時候,就在想如果我在服務器上執行一個爬蟲任務的話,還說的過去。但是我不能每個爬蟲任務就新建一個項目吧。例如我建立了一個知乎的爬行任務,但是我在這個爬行任務中
scrapy順序執行多個爬蟲
clas aio 爬蟲 sleep class abs pan path execute 1 # -*- coding:utf-8 -*- 2 3 from scrapy import cmdline 4 from scrapy.cmdline import e
docker容器啟動時執行腳本 run /bin/bash執行多條指令
null 最好 執行 ash .sh bash 指令 docke -i 1、首先需要編寫需要啟動的腳本,並將腳本放在 /etc/init.d/目錄下 如:cs.sh 2、修改權限 3、chkconfig --add cs.sh 4、 chkconfig cs.sh on 啟
testng.xml 執行多個測試用例
pan nis -- 編輯 XML ini 執行 demo 名稱 1.在工程名字上點擊右鍵,點擊【New】-->【File】 2.在彈出的【New File】對話框中的【File name】輸入【testng.xml】,點擊【Finish】即創建了一個testng的
Appium自動化測試-同時執行多個裝置
在之前的文章中,學習了Appium的基本使用,可以參考Appium自動化測試-入門,我們接著學習一下在一臺電腦中同時執行多裝置的方法,這樣在測試多種裝置的時候,可以直接在本地完成。 一、啟動Appium 一個Appium伺服器只能連線一個測試裝置進行測試,如果要在一臺電腦上同時測
Docker建立執行多個mysql容器的方法示例
1.使用mysql/mysql-server:latest映象快速啟動一個Mysql例項 docker run --name ilink_user_01 -e MYSQL_ROOT_PASSWORD=123456 0d 0p 3307:3306 mysql/mysql-server:latest