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

ser*_*iti 3 bash conda

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

#!/bin/bash
echo Hello, who am I talking to?
read varname
echo It\'s nice to meet you $varname
Run Code Online (Sandbox Code Playgroud)

我期待当我运行这个命令时

conda run -n myenv /home/prod/test.sh
Run Code Online (Sandbox Code Playgroud)

我会看到一个提示,等待我输入 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:~$
Run Code Online (Sandbox Code Playgroud)

非常感谢详细说明我如何使用 conda 运行无效的 shell 脚本?

[编辑]

替换read varnameread -r varname < /dev/tty

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

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

mer*_*erv 6

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

conda run -n myenv --no-capture-output /home/prod/test.sh
Run Code Online (Sandbox Code Playgroud)

此功能在 Conda v4.9.0(更改日志)中引入。