无法使用 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) 中引入的。
我有这个脚本“/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) 中引入的。