単純なbashスクリプトでは、サブディレクトリを繰り返すことはできません。

単純なbashスクリプトでは、サブディレクトリを繰り返すことはできません。

ここには非常に短いシェルスクリプトがあります。

MYPATH=/home/robert/fatherdir

for d in $MYPATH/*/; do
    echo "$d"
done

スクリプトを実行すると、端末に次のエコー出力が表示されます。代わりにサブディレクトリchildirectorychildfolder:

/home/robert/fatherdir/*/

私はこれを約3時間やってきて、それが私を狂わせます。精密cronjobスクリプトの同じコード(スペースを含む!)が機能します!これは、サブディレクトリが正常に循環したことを意味します。 Cronjobはテストスクリプトの実行にも使用する/bin/shを使用します。 /bin/sh は Gnu bash 4.4.23 です。

関連情報