mainfolder
我有一个带有子目录的目录execution
,其中包含configure
脚本。我可以切换到该execution
目录并运行./configure
,它工作正常。现在我正在尝试弄清楚如何configure
在我处于mainfolder
.我试过:
./configure /execution
和:
./configure execution
但都不起作用。我还使用从根目录或从用户目录开始的完整路径尝试了相同的操作,如下所示:
./configure /home/etc/user/mainfolder/execution
./configure user/mainfolder/execution
我总是收到这样的消息:
bash: ./configure: 没有这样的文件或目录
最后,我尝试了:
/home/etc/user/mainfolder/execution/configure
. /home/etc/user/mainfolder/execution/configure
两者都给了我错误:
sed:无法读取 makefile.in:没有这样的文件或目录
我怎样才能做到这一点?
答案1
首先确认配置脚本存在于您认为的位置。其次确保它是可执行的:
$ ls -l ./configure
-rwxrwxr-x 1 saml saml 100 Jun 9 05:11 ./configure
如果两项检查都正常,那么您可能想尝试configure
通过首先将目录更改为/mainfolder/execution
然后运行configure
如下来尝试运行:
$ cd /mainfolder/execution
$ ../configure
您可能还想尝试一下这种方式:
$ cd /mainfolder
$ ./configure execution
编辑#1
根据OP留下的评论,以下目录结构似乎是他所描述的:
$ tree -f
.
`-- /mainfolder
`-- /mainfolder/execution
`-- /mainfolder/execution/configure
答案2
在 *nix 中,/
始终是整个文件系统的根目录,并且.
始终指当前工作目录。
每个以 开头的路径/
都是绝对路径。每个以 开头的路径.
都是相对路径。
因此/home/...
可能是正确的,因为该目录位于根目录中,而/excecution
可能是错误的,因为该目录位于根目录中不是位于根目录中,但位于/home/...
.
如果您说,您尝试运行当前工作目录 ( ) 中的./configure
文件。configure
.
该错误只是表明当前工作目录中No such file or directory
没有指定的文件。configure
您可以用来pwd
显示当前工作目录是什么。用于ls
显示那里存在哪些文件。用于cd
更改当前工作目录。
帮助您解决实际问题。你需要说出你想要做什么。你为什么想跑configure
?它应该做什么?为什么你认为需要指定执行目录?
答案3
问题是我必须运行该文件,但不要更改当前目录。所以我尝试了这个并且工作了:
cd execution/ && ./configure