我希望在“docker run”命令中检测是否已向entrypoint脚本传递-ti参数。
使用“docker run --help”命令查看有关-t -i参数的更多信息。
-i, --interactive=false Keep STDIN open even if not attached
-t, --tty=false Allocate a pseudo-TTY
我尝试了以下方法,但即使在本地测试(不在docker内)也无法工作,并且始终打印出“Not interactive”。
#!/bin/bash
[[ $- == *i* ]] && echo 'Interactive' || echo 'Not interactive'
$-
,你会得到什么?另外,你正在运行哪个版本的 bash? - Eric Renouf/path/to/script
或bash /path/to/script
)的脚本不会以交互模式运行。在您的shell提示符下运行该命令或将其源化(. /path/to/script
),它将按您预期的方式工作。 - Etan Reisner