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

时间:2018-01-10 20:09:11

标签: 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 && $CHECKOUT"

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

如果$ COMMAND运行且没有错误,我想要做的是关闭xterm。如果有错误我想保持窗口打开,我该怎么做?

我知道-hold参数,但即使$ COMMAND通过,这也会使窗口保持打开状态。如果它失败,我只希望它是开放的

2 个答案:

答案 0 :(得分:1)

我建议:

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

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

答案 1 :(得分:0)

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