[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
以下のオプションは、ファイル名の表示方法を変更する。
ファイル名中の非表示文字を、C 言語で使うような、バックスラッシュにアルファベットや 8 進数を続ける方法を使用して、クォートする (訳注: このオプションでは、タブや改行だけでなく、空白 (Ox20) もバックスラッシュでクォートされる)。
ファイル名をクォートしない。とは言え、ls
では、出力先が端末の場合は、
‘--show-control-chars’ が指定されていないかぎり、
非表示文字を疑問符として表示するぐらいのことは行う。
ファイル名中の非表示文字に代えて、疑問符を表示する。
この動作は、出力先が端末で、プログラムが ls
の場合のデフォルトである。
(訳注: このオプションの現在の動作は変わっているかもしれない。 すなわち、出力先が端末以外の場合は、上記の通り、非表示文字を疑問符で表示するが、 出力先が端末の場合は、非表示文字を疑問符ではなく、‘$''’ という形で表示し、空白 (0x20) を含むファイル名はファイル名全体をシングルクォートで囲むかもしれない。 ‘--quoting-style’ の説明の末尾の訳注もご覧になっていただきたい。)
ファイル名をダブル・クォートで囲み、非表示文字を C 言語と同じやり方でクォートする。
ファイル名などの文字列には、通常使われない文字が含まれているかもしれない。 このオプションを指定すると、word というスタイルを使って、 そうした文字列をクォートすることになる。 word は、以下に挙げるものの一つでなければならない。
文字列に手を加えず、そのまま出力する。これは、‘-N’ や ‘--literal’ オプションと同じである。
文字列にシェルのメタ文字がある場合や、出力が誤解を招くものになりそうな場合に、
シェル向けのクォートを施す。このクォート方法は、bash
のような
POSIX 互換のシェルにはふさわしいものだが、
csh
のような非互換のシェルでは、必ずしもうまく働くとはかぎらない。
普通ならクォートが不要な場合でも、文字列にシェル向けのクォートを施す。
‘shell’ に似ているが、非表示文字のクォーティングに POSIX 提唱の ‘$''’ という書式を使用する。ほとんどのシェルに適している。 (訳注: ファイル名中に空白 (0x20) がある場合は、ファイル名全体をシングルクォートで囲む。)
‘shell-escape’ に似ているが、普通ならクォートが不要な場合でも、 文字列にクォートを施す。
C 言語の文字列リテラルをクォートするときのように、文字列をクォートする。 文字列をダブル・クォートで囲むことも行う。 これは、‘-Q’ や ‘--quote-name’ オプションと同じである。
C 言語の文字列リテラルをクォートするときのように、文字列をクォートする。 ただし、文字列をダブル・クォートで囲むことはしない。 これは、‘-b’ や ‘--escape’ と同じである。
C 言語の文字列リテラルをクォートするときのように、文字列をクォートする。 ただし、文字列を囲む引用符には、ロケールにふさわしいものを使う。
C 言語の文字列リテラルをクォートするときのように、文字列をクォートする。 ただし、文字列を囲む引用符には、ロケールにふさわしいものを使い、 さらに、デフォルトの C ロケールで言うと、"like this" ではなく、 ’like this’ のようにクォートを行う。この方が見栄えのよいディスプレイが多い。
‘--quoting-style’ オプションのデフォルト値は、環境変数
QUOTING_STYLE
によって指定することができる。
この環境変数が設定されていない場合、デフォルトの値は、出力先が端末のときは
‘shell-escape’ であり、端末以外のときは ‘literal’ である。
(訳注: 上記の説明からは、デフォルトの端末に対する出力のスタイルは、
‘shell-escape’ であるように読める。しかし、‘--hide-control-chars’
(‘-q’) の説明や、ls
の章全体の冒頭では、
非表示文字を疑問符として表示するのが、デフォルトの端末に対する出力だと言っている。
info マニュアルの説明に少し混乱があり、部分的に古い記述が残っているらしい。実のところ、coreutils
の開発元では、バージョン 8.25 あたりから、デフォルトの端末に対する出力を
‘--quoting-style=shell-escape’ にしている。
たとえば、ファイル名にタブが含まれている場合、オプションなしの
ls
は、‘aaa?bbb’ ではなく ‘'aaa'$'\t''bbb'’
のように端末に表示するのである。また、ファイル名中に空白がある場合は、
ファイル名全体をシングルクォートで囲って、‘'/misc/xxx yyy'’
のように表示する。しかし、ディストリビューションによっては、バージョン
8.26 でも、デフォルトの端末に対する出力を
‘--quoting-style=literal’ にしていることもある。
その方が見やすいかもしれないので、それも一見識だと思う。端末に対するデフォルトの出力や
‘-q’ オプションの動作が、ご自分のところではどうなっているか、一度お確かめになっておくとよい。)
ファイル名中の非表示文字に手を加えず、そのまま出力する。
この動作は、出力先が端末ではない場合や、プログラムが ls
ではない場合のデフォルトである。
(訳注: 開発元配布のバージョン 8.26 では、‘--show-contrls-chars’
を指定した場合も、出力先が端末だと、非表示文字を ‘$''’ の書式で表示している。
出力先が端末以外なら、上の説明どおり、非表示文字がそのまま出力される。
しかし、ディストリビューション配布の ls
では、出力先が端末の場合に上記説明通りの動作をするものもある。
これも、お手元で実際の動作を確かめておいていただきたい。)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on June 7, 2022 using texi2html 1.82.