この構成でファイルまたはディレクトリの名前のみをエコーする必要があります。
ls -Al | while read string
do
...
done
ls -Al 出力:
drwxr-xr-x 12 s162103 studs 12 march 28 12:49 personal domain
drwxr-xr-x 2 s162103 studs 3 march 28 22:32 public_html
drwxr-xr-x 7 s162103 studs 8 march 28 13:59 WebApplication1
たとえば、私が試してみると:
ls -Al | while read string
do
echo "$string" | awk '{print $9}
done
次に、スペースなしのファイルとディレクトリのみを出力します。ファイルまたはディレクトリに「パーソナルドメイン」などのスペースがある場合、「パーソナル」という単語のみになります。
非常にシンプルなソリューションが必要です。たぶん、awkよりも良い解決策があるでしょう。
ls -Al | while。シンプルで信頼性の高い方法はfor string in *; do echo "$string"; doneです。
lsですか?解析lsと「すべて* nixで動作し、何かが起こっても壊れません」はうまくいきません。

ls -Al *' '*?lsの出力を解析しても、良い結果が得られることはありません。