Linux 使用bash挂起使用ranger文件管理器选择文件夹

Linux 使用bash挂起使用ranger文件管理器选择文件夹,linux,bash,Linux,Bash,我在i3中使用一个名为ranger的文件管理器。我正在做的基本任务是为我的日常工作流程脚本“选择一个文件夹”。所以我创建了一个通用脚本,并在所有脚本中使用它 下面显示的我的文件夹选择脚本保存在名为folderselect的文件下。脚本如下所示 #!/usr/bin/env bash TMP="$(mktemp)" ranger --show-only-dir --choosedir="$TMP" cat $TMP rm -f $TMP 当我在其他脚本中包含此脚本时,如下图所示 selecte

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

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

#!/usr/bin/env bash
TMP="$(mktemp)"
ranger --show-only-dir --choosedir="$TMP"
cat $TMP
rm  -f $TMP
当我在其他脚本中包含此脚本时,如下图所示

selectedPath=“$(folderselect)”


脚本挂起,不执行任何操作。请告诉我这可能是什么原因。

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

您需要将stdout重定向到stderr以显示界面:

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