BASH:用于Shell脚本的Sudo Cat多行命令

时间:2013-11-29 21:40:42

标签: linux bash shell maven

我想将几行shell命令附加到root拥有的文件中。我有sudo访问权限。总之,我想说明一下:

export M2_HOME=/opt/apache-maven-3.1.1 
export M2=$M2_HOME/bin 
PATH=$M2:$PATH 

我试过了:

m2config=$(cat << EOL
export M2_HOME=/opt/apache-maven-3.1.1
export M2=\$M2_HOME/bin
PATH=\$M2:\$PATH
EOL
)

然后

sudo bash -c "echo $m2config >> /etc/profile.d/maven.sh"

但无济于事。有谁知道如何做到这一点?我已经咨询了许多类似的问题,但没有解决这个确切的需求。

1 个答案:

答案 0 :(得分:11)

sudo bash -c "cat >> /etc/profile.d/maven.sh" << EOL
export M2_HOME=/opt/apache-maven-3.1.1
export M2=\$M2_HOME/bin
PATH=\$M2:\$PATH
EOL

如果您不喜欢产生子shell,sudo tee -a /etc/profile.d/maven.sh > /dev/null << EOL也可以。