对于所有命令,如何在heredoc中进行子
shell扩展?
例如:
file=report_$(date +%Y%m%d) cat <<EOF > $file date hostname echo 'End of Report' EOF
以便评估所有命令?
我知道
file=report_$(date +%Y%m%d) cat <<EOF > $file $(date)) $(hostname) $(echo 'End of Report') EOF
会工作,但有没有办法默认指定子shell?
解决方法
您可以使用sh(或bash)作为命令而不是cat;实际上它将作为shell脚本运行:
sh <<EOF > $file date hostname echo 'End of Report' EOF