sudo でメタキャラクタ(ワイルドカード)が使えない2010年06月15日 08時34分

ずいぶん前から気にはなっていたが、放置していたこと。Linuxでsudoコマンドを使いroot権限で作業する時に、ワイルドカード(「*」等)が使えない。そのため複数のファイルをまとめてコピーしたり削除したりする時に、とても不便。

今更ながら解決方法を調べてみた。例えば

「sudo ls /var/named/chroot/etc/n*」

というコマンドを実行したい時には、

「sudo -s "ls /var/named/chroot/etc/n*"」

という感じに、オプション「-s」を付け、実行したいコマンドは「"」で囲めばいいらしい。はっきりいって理由は理解できていない。しかし、こういうものだと思っておけばずいぶん楽になる。

2010/01/05

Fedora 14にアップグレードしたら、上記の方法ではできなくなった。

sudo sh -c "コマンド" でできる。