1. 程式人生 > >shell 執行多條命令

shell 執行多條命令

一般程式語言執行多行程式碼,比如java

public void methodA(){

     int i = a.read();

     System.out.println(i);

}

如果 1 步 a.read()執行不成功,丟擲了異常,那麼程式不會執行第2步

如果是shell兩條命令

#!/bin/sh

 rm a.txt

 mv c.txt b.txt

假如第 1 步執行失敗,那麼第 2 步也會執行,兩條命令沒有必然的關係

如果要讓 1成功之後才執行 2要怎麼做?或者 1失敗才執行2

1、用 && 讓1 成功之後才執行 2

rm a.txt && mv c.txt b.txt

2、用 

|| 1失敗之後 2才執行 用 

rm a.txt || mv c.txt b.txt

或者用條件判斷,shell指令執行完之後,指令會有返回值,用 $? 獲取上一條指令的返回值,然後根據返回值判斷是否執行下一條指令

#!/bin/sh
rm a.txt
if [[ $? != 0 ]]; then
echo 'fail'
else
mv c.txt b.txt
fi