使用游侠文件管理器使用 Bash 挂起选择文件夹



我在i3中使用了一个名为ranger的文件管理器。我正在执行的基本任务是为我的日常工作流脚本"选择一个文件夹"。所以我创建了一个通用脚本,并在我所有的脚本中使用它。

下面显示的"我的文件夹选择"脚本保存在名为"文件夹选择"的文件中。 脚本如下所示

#!/usr/bin/env bash
TMP="$(mktemp)"
ranger --show-only-dir --choosedir="$TMP"
cat $TMP
rm  -f $TMP

当我将此脚本包含在如下所示的其他脚本中时。

selectedPath="$(folderselect("

脚本挂起且不执行任何内容。请让我知道这可能是什么原因。

Ranger 使用 stdout 显示其接口,$(( 将 stdout 重定向到变量,因此您看不到接口。

您需要将标准输出重定向到 stderr,以显示界面:

ranger --show-only-dirs --choosedir="$TMP" 1>&2

最新更新