我正在编写一个bash脚本,它有一个问题:
path=$(pwd)
data=$(ls -al $path) > /dev/null 2>/dev/null
如果$path
是“锁定”目录(用户x没有权限),则会出现问题,将其称为“BadDir”。在这种情况下,程序输出:
ls: cannot access /home/user/.../BadDir/..: Permission denied
我想要的只是隐藏此输出。
我知道有重定向到/dev/null
但我不知道在这种特殊情况下如何使用它。
答案 0 :(得分:0)
您可以使用EXEC
进行测试,首先创建文件夹
mkdir /tmp/t/
sudo chown root /tmp/t/
sudo chgrp root /tmp/t/
sudo chmod 400 /tmp/t/
e.g:
ls -al /tmp/t/
输出:
ls: cannot open directory /tmp/t/: Permission denied
并首先使用EXEC
文件:
exec 2>/dev/null
ls -al /tmp/t/
exec
您可以控制并重定向所有error message
或其他输出