Bash
chroot heredoc 提前終止特定包
一些有趣的東西,有點超出我的理解。我可以毫無問題地對 Debian Buster chroot 執行這些命令。這對我來說很方便在 chroot 中使用單個輸入流執行多個命令。
# Ex1. This works fine and prints "hi" chroot LIVE_BOOT/chroot/ /bin/bash <<EOF false bad_command echo "hi" EOF # Ex2. This *also* works fine and prints "hi!" chroot LIVE_BOOT/chroot/ /bin/bash <<EOF apt install -y --no-install-recommends nano echo "hi!" EOF
但是關於這個特定包的某些東西會導致腳本提前中止,因此以下命令不會執行。
# This runs the apt command fine, but then stops executing. chroot LIVE_BOOT/chroot/ /bin/bash <<EOF apt install -y --no-install-recommends xserver-xorg-core echo "hi????" EOF
xserver-xorg-core
我有一種預感,它與呼叫的事實有關keyboard-configuration
,但這是一個瘋狂的猜測。debconf: falling back to frontend: Teletype Configuring keyboard-configuration
不管是什麼原因,
apt
安裝都可以xserver-xorg-core
正常完成,但是heredoc之後立即終止,我不知道為什麼或如何修復它。這是一個奇怪的地方chroot
還是我正在使用的發行版?出於某種原因,我需要特殊的/dev
或/proc
坐騎嗎?
您可以通過關閉互動式前端來解決它:
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends xserver-xorg-core