我的bash腳本使用printf編寫了另一個bash腳本。bash腳本中的變量轉義
printf "#!/bin/bash
HOME=${server}
file=gromacs*
file_name=\$(basename "\${file}")
date=\$(date +"\%m_\%d_\%Y")
for sim in \${HOME}/* ; do
if [[ -d \$sim ]]; then
simulation=$(basename "\$sim")
pushd \${sim}
cp \$file \${server}/\${results}/\${file_name}.\${simulation}.\${date}
echo "\${file_name}\ from\ \${simulation}\ has\ been\ collected!"
popd
fi
done" > ${output}/collecter.sh
在這裏有日期變量
date=\$(date +"\%m_\%d_\%Y")
內的元素的escappiong一個問題,下面的部分沒有正常工作
"\%m_\%d_\%Y"
它會導致不完整的一個新的bash腳本由printf生成。
它應該如何修復?
謝謝!
您沒有在第一時間逃生''%。 –