Bash 如果没有错误,请关闭xterm-e命令

Bash 如果没有错误,请关闭xterm-e命令,bash,shell,unix,xterm,Bash,Shell,Unix,Xterm,我有以下shell脚本来打开xterm窗口并安装repo #!/bin/bash REPO_NAME=$1 REPO_DIR=$2 REPO_URL=$3 REPO_BRANCH=$4 CLONE="git clone --recursive $REPO_URL $REPO_NAME" DIR="cd $REPO_DIR" CHECKOUT="git checkout $REPO_BRANCH" COMMAND="$CLONE && $DIR && $CHEC

我有以下shell脚本来打开xterm窗口并安装repo

#!/bin/bash
REPO_NAME=$1
REPO_DIR=$2
REPO_URL=$3
REPO_BRANCH=$4

CLONE="git clone --recursive $REPO_URL $REPO_NAME"
DIR="cd $REPO_DIR"
CHECKOUT="git checkout $REPO_BRANCH"

COMMAND="$CLONE && $DIR && $CHECKOUT"

xterm -T $REPO_DIR -geometry 90x30 -e "$COMMAND"
如果$COMMAND运行时没有错误,我想做的是关闭xterm。如果有一个错误,我想保持窗口打开,我如何才能做到这一点


我知道-hold参数,但即使$COMMAND通过,它也会保持窗口打开。我只希望它在失败时打开

您可以使用
$?
变量获取上一个程序的退出状态。大多数程序在成功时返回0作为退出代码。你可以用一个简单的if结构来测试它。

我建议:

xterm -T $REPO_DIR -geometry 90x30 -e "$COMMAND || read"

xterm -T $REPO_DIR -geometry 90x30 -e "$COMMAND || read -p 'Press return to close window'"