Linux Bashプログラミング言語(スクリプティング言語)のコマンドラインにおいて、”sudo cat > file.txt”、root権限でのリダイレクトコマンドを行う方法についてです。
アクセスにsudo権限が必要なファイルにcat >
やcat >>
を行いたい場合はどうすればいいのか調べてみました。
$ sudo cat > /usr/local/bin/Rint
bash: /usr/local/bin/Rint: Permission denied
$ cat > /usr/local/bin/Rint
bash: /usr/local/bin/Rint: Permission denied
方法1:
sudo bash -c "cat > /usr/local/bin/Rint"
方法2:
stdin="$(</dev/stdin)";
sudo tee /usr/local/bin/Rint < <( echo "${stdin}" )
bash – sudo cat << EOF > File doesn’t work, sudo su does – Stack Overflow