【发布时间】:2021-07-23 08:16:49
【问题描述】:
成功了。
#!/usr/bin/env bash
set -x
docker exec -it pure-ftpd ftp localhost
printenv
失败,因为“输入设备不是 TTY”。
#!/usr/bin/env bash
set -x
{
echo "docker exec -it pure-ftpd ftp localhost"
} | {
bash
printenv
}
而且两个脚本的环境变量是一样的。有人能告诉我有什么区别吗?而SDKMAN使用管道(第二种方式)运行脚本,什么时候不应该使用管道?
【问题讨论】:
-
也许您可以使用
bash -c或xargs?