[英]Using local perl variables in shell command
我正在嘗試運行遠程查找命令,但是我必須將它的值傳遞給我,這些值是從用戶的命令行參數中獲取的。 但是,我收到“未定義的變量”錯誤。 我正在做類似的事情:
my $ssh = Net::OpenSSH->new($host);
#I am getting a part of the $path and $pattern from command line
#I have to look for $pattern at the $path
my @files = $ssh->capture(q(find $path -name $pattern) );
當我給出確切的路徑和模式時,此命令運行良好,但是當我將其替換為變量時出現錯誤。
q(find $path -name $pattern)
這是文字字符串find $path -name $pattern
,美元符號等。
Perl有幾種不同的報價。 ""
將插值變量(即用其值替換變量), ''
則不會。 q()
是另一種寫''
。 您需要qq()
。
有關更多信息,請參見perlop中的Quote和Quote-like運算符 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.