[解決済み] sudo cat は Permission denied になるのに sudo vim は正常に動作するのはなぜですか?重複] [重複
2023-02-06 01:30:18
質問
私は自分のアーチの pacman.conf ファイルにリポジトリのソースを追加するのを自動化しようとしています。
echo
コマンドを使っています。 しかし、それは次のように失敗します:-)
sudo echo "[archlinuxfr]" >> /etc/pacman.conf
sudo echo "Server = http://repo.archlinux.fr/\$arch" >> /etc/pacman.conf
sudo echo " " >> /etc/pacman.conf
-bash: /etc/pacman.conf: Permission denied
vim を使って手動で /etc/pacman.conf を変更する場合、次のようにします。
sudo vim /etc/pacman.conf
でvimを終了させ
:wq
で終了すると、すべてうまくいき、pacman.conf は "Permission denied" の苦情もなく手動で更新されました。
なぜそうなるのでしょうか?そしてどうしたら
sudo echo
を動作させるにはどうしたらよいのでしょうか?(btw, 私は
sudo cat
も使ってみましたが、同様にPermission deniedで失敗しました)
どのように解決するのですか?
問題は、リダイレクトが元のシェルで処理されていることです。
sudo
. シェルは心を読むことができないので、その特定の
>>
のためのものであることを知りません。
sudo
を意味し、それに対するものではありません。
する必要がある。
-
はリダイレクトを引用します。
sudo)
-
そして
使用
sudo -s
(そのためsudo
は引用されたリダイレクトを処理するためにシェルを使用します)。
関連
-
[解決済み] シェルスクリプトで文字列が空でもスペースでもないことをチェックする
-
[解決済み] スクリプトの実行に関連したファイルの参照
-
[解決済み] set -u` による Bash による空の配列展開
-
[解決済み] Bashの履歴にコマンドを表示させないようにするには?
-
[解決済み] Bashでファイルの内容を既存ファイルの末尾に追加する [重複]。
-
[解決済み] Bashの引数で引用符を維持するには?重複
-
[解決済み] 最終編集日順のファイル一覧
-
[解決済み] Bashのファイル拡張子は何ですか?
-
[解決済み] Bashでテーブルの列を揃えるにはどうしたらいいですか?
-
[解決済み] 引用符で囲まれたパラメータを受け取り、再送するためのBashスクリプト
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】sudoを使用して、書き込み権限のない場所に出力をリダイレクトするにはどうすればよいですか?[解決済み]
-
[解決済み] シェルプログラミングで「export」は何をするのですか?重複
-
[解決済み] シェルスクリプトによるDockerコンテナ内でのスクリプトの実行
-
[解決済み] 複数のbashスクリプトにまたがってpushd/popdのスタックを表示しない (quiet pushd/popd)
-
[解決済み] bashのcurlステートメントに'&'文字を含める方法
-
[解決済み] 指定した名前のDockerコンテナが存在しない場合のみ、Bashコマンドを実行するにはどうすればよいですか?
-
[解決済み] Docker: 実行中のDockerコンテナの停止と削除
-
[解決済み] BASHでAWS S3 CLIを使用して標準出力にファイルをダンプするには?
-
[解決済み] ENV 変数やデフォルト値を使って Makefile の変数を定義する
-
[解決済み] 最終編集日順のファイル一覧