0

これら2行の違いを知りたい:

sudo sed 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=3/' /etc/default/grub >/etc/default/grub

sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=3/' /etc/default/grub

最初のエラーは許可拒否エラーを返しますが、他のエラーは返さないため、違いがあるようです。

4

2 に答える 2

4

@sarathiが言ったように、-iフラグはファイルをインプレースで変更します。アクセス許可が拒否されたというエラーが発生する理由/etc/default/grubは、おそらくルートのみが変更できるためです。

最初のコマンド:

sudo sed 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=3/' /etc/default/grub >/etc/default/grub

スーパーユーザーとして実行します。スーパーユーザーは、標準出力への書き込みsedなどの有用なことは何もしません。sed次に、現在のユーザーとして上書きしようとします/etc/default/grubが、これは許可されていません。

2 番目のコマンドでは:

sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=3/' /etc/default/grub

ファイルはsedルートとして実行されているため、それ自体で変更されます。

于 2012-12-29T08:52:05.270 に答える
1

-ised のフラグはインプレース置換を示しています。

于 2012-12-29T08:49:13.840 に答える