如何使用sudo检查文件是否存在?

Modified on: Sat, 10 Aug 2019 04:00:02 +0800

我想检查文件是否存在

[ -f /path/to/file/ ]

但是我以普通用户身份运行此命令,该文件由root拥有。我怎样才能使用sudo来实现这一目标。

sudo [ -f /path/to/file/ ]不起作用。

作者:voretaq7,ckliborn

最佳答案

您所描述的内容应该可以正常工作 - 只要您使用绝对路径,并且-f(“文件存在并且是常规文件”)实际上是您想要的测试执行。

我在您的问题中发布的内容中看到了一个尾随的/ - 您是否正在测试目录?这应该是-d,或者只是-e(“存在具有该名称的东西 - 无论类型如何”)

另请注意,除非一路上的某些内容不可读test[)应该能够告诉您root是否拥有该文件(例如[ -f /root/.ssh/known_hosts ]可能会失败,因为/root/.ssh目录不是(或者至少不应该)可读普通用户。[ -f /etc/crontab ]应该成功。)

作者:voretaq7

相关问答

添加新评论