我正在尝试为Android CI系统构建一个docker镜像,但希望避免繁重的日志文件。因此,为了避免在stdout上输出,我希望它重定向到/dev/null
。我是使用linux命令的新手。
我的实际命令是:
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-27"
而且我正在使用&&
评论多行代码。所以结果是这样的:
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-27" && \
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager "tools" "platform-tools"
但是,命令($ANDROID_HOME/tools/bin/sdkmanager "platforms;android-27"
)在屏幕上显示一个大型许可证文件,它会生成一个大型日志文件,最终超出了我尝试运行的日志文件限制。
为避免这种情况,我想将输出传递给/dev/null
。所以,我尝试了:
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-27" && \
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager "tools" "platform-tools" > /dev/null 2>&1 &
导致许可证未被接受。
我该怎么做?
答案 0 :(得分:2)
我建议:
{ command1 | command2 && command3 | command4; } >/dev/null 2>&1