私はインターネットがほとんど接続されていない孤独な場所に住んでいます。
こういうたびにsudo poweroff
私もやってみたいgit push
。プッシュが失敗した場合は終了を中止し、そうでない場合は終了を続行します。
バイナリを変更せずにこれを達成するにはどうすればよいですか?
答え1
以下は、同じトピックに対するいくつかの選択肢です。 Allは、プッシュが成功すると後続のコマンドをgitoff
実行するコマンドを生成します。git push
sudo shutdown -h now
alias gitoff='git push && sudo shutdown -h now'
gitoff () {
git push && sudo shutdown -h now
}
gitoff () {
if git push; then
sudo shutdown -h now
fi
}
gitoff () {
if git push; then
sudo shutdown -h now
else
echo >&2 'git push failed, no shutdown'
fi
}
答え2
次のようにコマンドをシェル関数でラップできます。
function gitpushoff() {
if git push origin # if this command succeeds, shutdown
then
sudo shutdown -h now
else
echo "git push failed: exit code [$?] Aborting shutdown..."
fi
}