В средстве подготовки оболочки Packer я запускаю сценарий, в котором записываю данные в файл.
{
"type": "shell",
"scripts": [
"scripts/test.sh"
]
}
По необъяснимым причинам не все строки записываются.
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
sudo touch /etc/test.txt
echo "[Test]" | sudo tee -a /etc/test.txt
echo "some data for the file" | sudo tee -a /etc/test.txt
echo "test=1" | sudo tee -a /etc/test.txt
sudo tee -a /etc/test.txt << 'EOF'
# configures JAVA
JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME
EOF
После сборки упаковщика в файле находятся следующие строки.
[Test]
some data for the file
Кажется, проблема возникает, когда в тексте присутствует знак "=". Вы знаете такое поведение?
Когда я использую это
sudo bash -c 'echo "test=1" >> /etc/test.txt'
текст записывается в файл.