如何让Perl自动在特定目录中查找脚本?
我在Windows计算机上安装了ActiveState Perl 现在,假设我在这个目录中有脚本,包括一个名为如何让Perl自动在特定目录中查找脚本?,perl,activestate,Perl,Activestate,我在Windows计算机上安装了ActiveState Perl 现在,假设我在这个目录中有脚本,包括一个名为“SomeScript.pl”: "C:\Example\Foo\Bar\" 如何将Perl配置为在传递脚本路径时自动在该目录中查找脚本 例如,从命令行,我可以运行…: perl C:\Example\Foo\Bar\SomeScript.pl …很好 但是下面的…: perl SomeScript.pl 失败,因为Perl不知道如何查找“C:\Example\Foo\Bar\”目
“SomeScript.pl”
:
"C:\Example\Foo\Bar\"
如何将Perl配置为在传递脚本路径时自动在该目录中查找脚本
例如,从命令行,我可以运行…:
perl C:\Example\Foo\Bar\SomeScript.pl
…很好
但是下面的…:
perl SomeScript.pl
失败,因为Perl不知道如何查找
“C:\Example\Foo\Bar\”
目录。如何配置Perl,以便在从命令行传递脚本名称时,自动在特定目录中查找脚本?这不是Perl的问题,而是与$PATH
变量有关
如果您使用的是最新的windows 10,则可以通过将导出路径=:$PATH
附加到文件末尾,将目录添加到.bashrc
文件中
或者,您也可以通过菜单将该目录添加到路径中
然后重新启动命令窗口,您可以这样运行脚本:
SomeScript.pl
这不是perl的问题,而是与
$PATH
变量有关
如果您使用的是最新的windows 10,则可以通过将导出路径=:$PATH
附加到文件末尾,将目录添加到.bashrc
文件中
或者,您也可以通过菜单将该目录添加到路径中
然后重新启动命令窗口,您可以这样运行脚本:
SomeScript.pl
这至少在某些Windows Perls中是可能的(我使用的是草莓5.24)
管理路径的所有常见问题都适用(例如,使用该名称的第一个文件运行)。这至少在某些Windows Perl中是可能的(我使用的是草莓5.24)
管理路径的所有常见问题都适用(例如,第一个同名文件运行)。我不明白你的意思。没有
.bashrc
文件,因为shell是Windows命令提示符,而不是Bash。如果您的意思是将脚本目录添加到Windows%PATH%
环境变量中,那么我已经尝试过了,但它不起作用;在决定在哪里查找脚本时,Perl显然没有检查Windows%PATH%
环境变量。您不能按要求执行操作。在路径中只搜索可执行程序,不搜索参数。您的脚本不是可执行文件。将目录放在%PATH%中不会起任何作用。如果您真的想只设置一个变量set MYFILE=c:\foo\bar\script.pl
,那么您可以执行perl%MYFILE%
这是可能的,请参阅链接,随时编辑我对您答案的编辑。:)当我听说Windows上有bash时,我很兴奋,但显然我的Windows 10版本都太旧了。该链接是关于修改WindowsPATH
变量的,该变量只有在命令直接传递到Windows shell时才有用,而不是在这种情况下,这是一个脚本文件名,作为参数传递给Perl可执行文件。我不明白你的意思。没有.bashrc
文件,因为shell是Windows命令提示符,而不是Bash。如果您的意思是将脚本目录添加到Windows%PATH%
环境变量中,那么我已经尝试过了,但它不起作用;在决定在哪里查找脚本时,Perl显然没有检查Windows%PATH%
环境变量。您不能按要求执行操作。在路径中只搜索可执行程序,不搜索参数。您的脚本不是可执行文件。将目录放在%PATH%中不会起任何作用。如果您真的想只设置一个变量set MYFILE=c:\foo\bar\script.pl
,那么您可以执行perl%MYFILE%
这是可能的,请参阅链接,随时编辑我对您答案的编辑。:)当我听说Windows上有bash时,我很兴奋,但显然我的Windows 10版本都太旧了。该链接是关于修改WindowsPATH
变量的,该变量只有在命令直接传递到Windows shell时才有用,而不是在这种情况下,这是一个脚本文件名,作为参数传递给Perl可执行文件。这可能会有帮助,但该链接没有帮助。设置WindowsPATH
环境变量只有在命令直接传递到Windows shell时才有用,而不是在本例中,它是作为Perl可执行文件的参数传递的脚本文件名。这可能会有帮助-该链接没有帮助。设置WindowsPATH
环境变量只有在命令直接传递到Windows shell时才有用,而不是在本例中,即脚本文件名作为参数传递到Perl可执行文件。非常感谢!这管用!我试图提高你的投票率,但作为一个新用户,我显然没有足够的声誉来计算提高投票率。我想也许有一个选项可以标记/接受它作为答案。我也是新来的,所以我不确定。非常感谢!这管用!我试图提高你的投票率,但作为一个新用户,我显然没有足够的声誉来计算提高投票率。我想也许有一个选项可以标记/接受它作为答案。我也是新来的,所以我不确定。