如何以其他用户身份运行命令?

如何以其他用户身份运行命令?

我正在使用以下版本的 Linux

[me@ip-99-99-99-99 myproject]$ uname -a
Linux ip-99-99-99-99 99.99.99-99.99.amzn1.x86_64 #1 SMP Mon Sep 14 23:20:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

我在以其他用户身份运行命令时遇到困难。请注意,尽管失败了,但我可以以我的用户身份运行“gradle build”命令。但是,当我尝试以其他用户身份运行它时,我收到“gradle not found”错误。我在下面做错了什么?

[me@ip-99-99-99-99 myproject]$ gradle build

FAILURE: Build failed with an exception.

* What went wrong:
Could not create service of type TaskArtifactStateCacheAccess using TaskExecutionServices.createCacheAccess().
> Failed to create parent directory '/var/lib/tomcat6/webapps/jenkins/jobs/myproject/workspace/myproject/.gradle/2.8' when creating directory '/var/lib/tomcat6/webapps/jenkins/jobs/   myproject/workspace/myproject/.gradle/2.8/taskArtifacts'

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.301 secs
[me@ip-99-99-99-99 myproject]$ sudo -H -u tomcat bash -c 'gradle build'
bash: gradle: command not found

答案1

似乎在路径中找不到“gradle”命令。作为您的 me 帐户,请尝试“which gradle”以获取命令的路径。然后在 sudo 命令上指定 gradle 的完整路径。

(本来想将其添加为评论,但声誉不够高 - 抱歉)。

相关内容