为了让我在 Cyqwin 中运行 .exe 或 .sh,我必须在行首放一个 ./。有没有办法让我改变它,这样就没有必要了?当我尝试运行测试脚本并且它在我正在工作的目录中找不到正确的文件时,这会导致问题。
问问题
15 次
1 回答
0
必须使用 './' 的原因是专门告诉 shell 你要执行什么文件。如果没有前导 './',则会搜索您的 $PATH 环境变量。如果愿意,您可以尝试将包含常用脚本和可执行文件的目录添加到 $PATH 中。或者,您可以将当前目录 (.) 添加到 $PATH,但这是一个非常糟糕的主意,因为它可能导致意外执行。
Cygwin 应用程序使用 PATH 环境变量作为目录列表来搜索要运行的可执行文件。当 Cygwin 进程首次启动时,此环境变量会从 Windows 格式(例如 C:\Windows\system32;C:\Windows)转换为 UNIX 格式(例如 /cygdrive/c/Windows/system32:/cygdrive/c/Windows) . 设置它,使其至少包含 x:\cygwin\bin 目录,如果您希望在 bash 之外使用 cygwin 工具,则其中“x:\cygwin 是 cygwin 安装的“根”。
于 2013-03-14T02:02:15.660 回答