- - PR -
「`」で始まるディレクトリが消去できない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-07-15 10:04
質問させてください。
ディレクトリ名が「`」で始まるディレクトリを誤って作成してしまったのですが(仮に「`hoge」とします)、 rm -r `hogeで消去しようとすると「>」を表示して何かをきいてきます。 また日付のディレクトリを作成しようとして失敗し、「 `date'+%y%m%d'`」という名前のディレクトリを作ってしまったのですが、 rm -r `date'+%y%m%d'`としてこちらを消去しようとすると「 `date'+%y%m%d'`というコマンドはありません」とbashが言って来ます。 こういった場合はどうしたら消せるのでしょうか? また何が原因なのでしょうか? 環境はredhat9です。 ご教授よろしくお願いいたします。 | ||||
|
投稿日時: 2004-07-15 10:24
# rm -r '`hoge'
# rm -r '`date\'+%y%m%d\'`' で如何でしょう? | ||||
|
投稿日時: 2004-07-15 10:26
ダブルクォーテーションで囲む→シングルクォーテーションでしたっけ?
rm -i * で、より分ける [ メッセージ編集済み 編集者: Jitta 編集日時 2004-07-15 10:26 ] | ||||
|
投稿日時: 2004-07-15 10:26
あれ、メッセージに¥マークを入れたんですが記録されないようですね。
# rm -r '`date\\'+%y%m%d\\'`' でどうだ。 | ||||
|
投稿日時: 2004-07-15 12:18
非武装エリアさんjittaさんレスどうもです。
お二人の書き込みをヒントに rm -r *hoge と rm -r *hoge* で何とかしました。 ありがとうございました。 #原因ってなんなのでしょうか??? | ||||
|
投稿日時: 2004-07-15 13:12
`string` は、``で囲まれた文字列をコマンドとして実行し、
その結果を返すものです。 $ echo cal $ echo `cal` で、結果を比べてみてください。 というわけで、「`」を通常の文字として利用するには、エスケープしなければなりません。 [ メッセージ編集済み 編集者: Edosson 編集日時 2004-07-15 13:13 ] | ||||
|
投稿日時: 2004-07-15 14:39
emacs が利用できるのであれば dired モードで削除することもできますね。 C-x d で一覧を表示させ,d で削除したいファイル/ディレクトリをマークし x で削除を実行。 といった感じでしょうか。 | ||||
|
投稿日時: 2004-07-16 13:39
こんにちは〜。
こちらの連載あたりも参考になると思います。 # シェルって大事ですよ ![]() ・ 連載記事 「ステップ・バイ・ステップ・シェルスクリプト」 (@IT さんより) |
1