42353


bashでの質問です。OSはCentOSです。

仮に`/etc`のようなrootユーザ以外は書き込めない場所にファイルを書き込もうとしたところ、

[code]

    sudo ls > /etc/test.txt
    
[/code]

とすると、lsコマンドはrootで実行できますが、>以降のファイルはroot権限ではありません。  
このような場所でも書き込めるような方法はありますか？  
一応、suコマンドでrootになってから実行すると実行可能ですが、su以外でお願いしたく。

ご存知の方、ご教授お願いします。


CC BY-SA 3.0
2018-03-12T12:10:28.523
42352
2020-07-25T06:46:13.343
2020-07-25T06:46:13.343
3060
8593
question
bash sudo
リダイレクトでrootユーザしか書き込めない場所にsudoで書き込むには

[code]

    sudo ls | sudo tee /etc/test.txt
    
[/code]

でいかがでしょうか。


CC BY-SA 3.0
2018-03-12T12:20:25.583
42353
2018-03-12T12:20:25.583
17037
42352
answer


`man sudo`を眺めていると出て来る例を参考に、

[code]

    sudo sh -c "ls > /etc/test.txt"
    
[/code]


CC BY-SA 3.0
2018-03-12T12:23:09.220
42354
2018-03-12T12:23:09.220
3060
42352
answer