フォルダ内のすべてのディレクトリを含む配列変数があります。$arrayの各ディレクトリにcdする必要があります。アクセスできないディレクトリに到達すると、プログラムは停止します。これを回避して、ループが単に次のディレクトリに移動するようにするにはどうすればよいですか。コードは
foreach dir ($array)
cd $dir
echo "directory is $dir"
cd - end
助けてください !!
CDが機能することをテストするだけです。
( if cd $dir 2> /dev/null; then
echo in directory $dir
# Do other things
fi )
また、括弧に注意してください。これらにより、句全体がサブシェルで実行されるため、元の場所にcdで戻す必要はありません。
iamが間違っていない場合は、次のようなものを使用できます
if [ -r ${dir} ]
then
echo "Have read access!"
fi
-w
書き込みアクセス-x
のテストと実行ビットのテストに使用できます。