簡體   English   中英

通過Cygwin通過“ Windows命令”啟動Perl腳本

[英]Start Perl script via “Windows Command” through Cygwin

我有以下問題:

我嘗試通過cygwin從Windows Scheduler啟動Perl腳本

我要做的步驟:調用process.bat文件在process.bat中,我使用perl腳本的參數調用bash

症狀:如果我直接從cygwin調用“ perl腳本路徑”,則它就像一個符咒。如果我從Windows cmd中使用bash調用該腳本,它將無法正常工作。

命令:C:\\ cygwin \\ bin \\ bash.exe --login /cygdrive/c/scripts/testscript.pl它顯示以下內容:

Line 3: use: command not found
Line 4: use: command not found
Can't find file Test

腳本:

#!/usr/bin/perl

use strict;
use warnings;
print "Test";

可能我只是犯了一個小錯誤,看不到它。 似乎用Windows cmd而不是perl來解釋它。

傳遞給bash的參數將被視為Bash腳本,而不是Perl腳本。 在這種情況下,沒有理由使用Bash-只需直接調用Perl:

C:\cygwin\bin\perl.exe /cygdrive/c/scripts/testscript.pl

如果您真的想按自己的方式做-調用一個cmd腳本,一個Bash腳本,一個Perl腳本,則您需要編寫一個Bash腳本來調用您的Perl腳本:

#!/bin/sh
/cygdrive/c/scripts/testscript.pl

並在調用bash時將該Bash腳本作為參數傳遞。

您可能希望使用選項-c來讓bash執行命令,如下所示:

C:\cygwin\bin\bash.exe --login -c /cygdrive/c/scripts/testscript.pl 

bash的手冊頁中:

-c字符串

如果存在-c選項,則從字符串讀取命令。 如果字符串后面有參數,則將它們分配給位置參數,從$ 0開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM