小编Vla*_*nov的帖子

当我使用对话框/whiptail 调用获取脚本时,Shell 退出

我有以下脚本:

#!/bin/bash

set -e

TITLE="Choose version"
VERSIONS=$(cat <<'END'
AAA
BBB
END
)

VERSION_LIST=$(echo "$VERSIONS" | awk '{print NR, " ", $0}')
INDEX=$(whiptail \
        --no-cancel \
        --menu "$TITLE" 15 40 15 \
        $VERSION_LIST \
        3>&1 1>&2 2>&3)
Run Code Online (Sandbox Code Playgroud)

当我使它可执行并运行它时,它会按预期工作。当我source从 bash 或 zsh调用它时,会发生以下情况之一:

  1. 终端关闭(bash 似乎退出)
  2. 终端保持打开状态,但很快就会崩溃/退出。最简单的复制方法是键入ls somefile并按下TAB以完成。

我正在使用 Fedora 29,我也可以在 Mac OS 上看到这种行为。在源脚本中使用whiptail/dialog 时,是否需要考虑任何特定的考虑因素?

bash shell-script dialog

4
推荐指数
1
解决办法
701
查看次数

标签 统计

bash ×1

dialog ×1

shell-script ×1