質問
引用符付きスペースを含むファイル名を表示したくありません。
はい
OSXでは、実行すると以下が表示されますls
。
> ls -l
total 0
drwxr-xr-x 2 mafro staff 68 Mar 16 09:02 'dir with spaces'
drwxr-xr-x 2 mafro staff 68 Mar 16 09:02 dir_with_spaces
私のDebianボックスには次のようなものがあります。
> ls -l
total 8
drwxr-xr-x 2 mafro mafro 4096 Mar 16 09:02 dir with spaces
drwxr-xr-x 2 mafro mafro 4096 Mar 16 09:02 dir_with_spaces
私のシェルにはいくつかのカスタマイズがzsh
含まれています。prezto
両方のボックスにまったく同じドットファイルが必要です。
両方のシステムで同じですls
。
> which ls
ls: aliased to ls --group-directories-first --color=auto
答え1
これはCoreutilsの新機能ですls
。
情報文書から:
'-N'
'--literal'
'--quoting-style=literal'ファイル名を引用しないでください。ただし、出力が端末で行われ、「--show-control-chars」オプションが指定されていない場合、「ls」を使用するとグラフィック以外の文字は依然として疑問符で印刷されます。
答え2
この機能を無効にするには、これを追加するか、export QUOTING_STYLE=literal
最新~/.bashrc
のGNU coreutilsとサポートされていないシェルを使用している場合は、次のようにexport var=value
します。
QUOTING_STYLE=literal
export QUOTING_STYLE
最近追加された引用スタイルは良い機能ですが、既存のスクリプトとコマンドラインの習慣が多すぎるため、デフォルトの動作を変更しないでください。特に正しいことをして変数を正しく引用する人の場合はさらにそうです。
sid
ところで、Debianは8.25-2でcoreutilsの動作を元に戻したので、8.25-1でしかしばらく現れました。