/ / BASH:Sudo Catシェルスクリプトへの複数行コマンド - linux、bash、shell、maven

BASH:Sudo Catシェルスクリプトへの複数行コマンド - linux、bash、shell、maven

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の場合は10
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

あなたがサブシェルを産み出さないようにしたら、 sudo tee -a /etc/profile.d/maven.sh > /dev/null << EOL ちょうど同様に働く。