如果在Bash,我该怎么做?

时间:2012-05-17 18:13:16

标签: bash shell sudo

我需要检查另一个用户的主目录中的目录。通常情况下,我会sudo,但这会产生另一个过程,我也会失去环境。

例如,我有:

if [[ -d "/home/otheruser/svn" ]];
then
   echo "SVN exists"
else
   echo "SVN does not exist"
fi

我需要使用root权限运行测试条件。

2 个答案:

答案 0 :(得分:31)

if sudo test -d "/home/otheruser/svn"; then

答案 1 :(得分:7)

您需要在子shell下运行它。例如:

if sudo bash -c '[[ -d "/home/otheruser/svn" ]]'
then
  echo "SVN exists"
else
  echo "SVN does not exist"
fi