我有一個文件,someFile
,像這樣:如何最好地將參數傳遞給Perl單線程?
$cat someFile
hdisk1 active
hdisk2 active
我用這個shell腳本進行檢查:
$cat a.sh
#!/usr/bin/ksh
for d in 1 2
do
grep -q "hdisk$d" someFile && echo "$d : ok"
done
我試圖將其轉換成Perl:
$cat b.sh
#!/usr/bin/ksh
export d
for d in 1 2
do
cat someFile | perl -lane 'BEGIN{$d=$ENV{'d'};} print "$d: OK" if /hdisk$d\s+/'
done
我將變量d
導出到shell腳本中,並使用Perl中的%ENV
獲取值。有沒有更好的方法將這個值傳遞給Perl單線程?
爲什麼不執行直接在Perl循環?然後你的shell腳本就消失了。 – FMc 2010-07-23 20:13:33
而不是使用'cat file | perl ...'使用'perl ... file'更簡單。 – TrueY 2013-04-23 22:30:07