最佳答案
我试图在bash heredoc内插入变量:
var=$1
sudo tee "/path/to/outfile" > /dev/null << "EOF"
Some text that contains my $var
EOF
这并没有像我期望的那样工作($var
是按字面处理的,而不是展开的)。
我需要使用sudo tee
,因为创建文件需要sudo。做这样的事情:
sudo cat > /path/to/outfile <<EOT
my text...
EOT
不能工作,因为>outfile
在当前shell中打开文件,而当前shell没有使用sudo。