[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 配付ファイルの解凍について
こんにちは。
Koutarou Ishikawa <stein@osk.3web.ne.jp> writes:
> だとすると、binary のセットの場合、tgzファイルを / に置いてから、BSDマガジ
> ン第1号にあった
>
> >> for f in *.tgz; do tar --unlink \-xzvpf $f; done
>
> というのを使って、連続解凍やりましたが(*2)、source のセットでも、こん
> な連続解凍できるんかいな? …というのが、謎としてあります。
できます。
--unlink で削除されるのは tarball の中に含まれているファイルだけです。
> (*2)…実は、『for文によるループ(tgzファイルのfについては、tarでunlink
> して解凍せよ)』という見当はついてますが、『fって? $fって? スイッチの
> 前にバックスラッシュ?』というのが見当付きません。
f はシェル変数です。*.tgz にマッチするファイル名がひとつづつ格納
されます。$f は f と同じです。参照する時は先頭に $ が必要です。
バックスラッシュについては意図がよくわかりませんが、これは書籍の
例そのままですか?
もし、オリジナルでは以下のように改行しているとすれば、それは改行位置
以降もコマンドが続いているという意味です。
for f in *.tgz; do tar --unlink \
-xzvpf $f; done
sh(1) の man page には以下のように記述されています。
Backslash
A backslash preserves the literal meaning of the following character,
with the exception of <newline>. A backslash preceding a <newline> is
treated as a line continuation.
-- やまの