【发布时间】:2019-03-11 19:04:18
【问题描述】:
我正在寻找我的 Laravel 项目的路径
我做了这个
sudo find / -name artisan
我收到了
/home/forge/john/artisan
我只想要这部分
/home/forge/john/
我试过了
sudo find / -name artisan | pwd;
我明白了
/root
我只想要找到的文件的路径/home/forge/john/
有人可以在这里给点提示吗?
我试过了
project_path=$("dirname `sudo find / -name artisan`")
echo "$project_path"
我一直在得到
bash: line 103: dirname /home/forge/john/artisan: No such file or directory
/root
【问题讨论】:
-
我鼓励您使用来自副本的答案,因为这里的所有建议都不是最优的(例如,对于路径
/home/me/bipartisan propaganda/mydir/artisan没有任何作用) -
似乎该命令本身可以工作,但是当存储到
variable时,它开始表现得很奇怪。project_path=$("dirnamesudo find / -name artisan") -
命令
"dirname `sudo find / -name artisan`"本身不起作用,就像它在您的$(..)中不起作用一样 命令dirname `sudo find / -name artisan`(不带双引号)在两者都起作用,只要命令可以据说工作 -
你觉得这两个命令干净吗?我没有得到我想要的结果,我也不知道为什么:i.imgur.com/PWNo1yu.png
-
没有。他们对错误的双引号也有同样的问题。命令应该是
project_path=$(dirname "$(sudo find / -name artisan)")并带有注释“# TODO: Make this work if there are multiple or zero matches”
标签: linux bash shell ubuntu unix