无法使用 conda 运行 交互式 shell 脚本 运行

Unable to run an interactive shell script using conda run

我有这个脚本“/home/prod/test.sh”

#!/bin/bash
echo Hello, who am I talking to?
read varname
echo It\'s nice to meet you $varname

我期待 运行 这个命令

conda run -n myenv /home/prod/test.sh

我会看到一个提示,等待我输入 varname 的值,但我得到了

(base) prod@dev-box:~$ conda run -n reportz /home/prod/test.sh
Hello, who am I talking to?
It's nice to meet you

(base) prod@dev-box:~$

非常感谢详细的回复,我如何使用 conda 来 运行 一个无吸引力的 shell 脚本?

[编辑]

已将 read varname 替换为 read -r varname < /dev/tty

它确实在等待我的输入,但没有显示 echo 语句产生的输出 echo Hello, who am I talking to?

我正在寻找的解决方案 - 脚本应该 运行 与 conda run 命令完全一样,就像在典型的 shell 环境中一样。

conda run命令默认缓冲I/O。要进行交互,需要包含 --no-capture-output 标志。

conda run -n myenv --no-capture-output /home/prod/test.sh

此功能是在 Conda v4.9.0 (Change Log) 中引入的。