linux - 如何避免在没有访问权限的情况下 cd 到目录

标签 linux bash unix csh

我有一个数组变量,它包含一个文件夹中的所有目录。 我需要 cd 到 $array 中的每个目录。 bt 当它到达一个不可访问的目录时,程序停止。我怎样才能避免这种情况,以便我的循环简单地转到下一个目录。代码是

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 )

另外,请注意括号。这些会导致整个子句在子 shell 中运行,因此无需 cd 回到原始位置。

关于linux - 如何避免在没有访问权限的情况下 cd 到目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14221916/

相关文章:

bash重装后找不到ghc?

linux - 现代 Unix/Linux 系统上的密码是否仍限制为 8 个字符?

bash - awk 变量不适用于日期 grep

linux - linux下使用libdrm读取DisplayPort DDC/CI

Linux:使用 egrep 计算出现次数

regex - sed 正则表达式无法按预期工作。管道和文件不同

linux - 回答终端查询并自动登录ssh

python - 如何使用 python 通过另一个脚本运行一个文件中的列表

shell - 两个字符串中包含的字符 - 已编辑

linux - 如何为每条记录添加标题到行