[轉]Shell向Perl指令碼中傳遞變數的方法
From:http://blog.csdn.net/bonny95/archive/2009/01/12/3760640.aspx
In shell using export to output a variable, and in perl using special variable %ENV to get shell's variables.
方法一:
i.e.:
--- shell box---
$ \bin\ksh
# export x=Foo
# perl -e 'print $ENV{"x"}'
-------------
方法二:
象C一樣,PERL也有儲存命令列引數的陣列@ARGV,可以用來分別處理各個命令列引數;與C不同的是,$ARGV[0]是第一個引數,而不是程式名本身。$var = $ARGV[0]; # 第一個引數
$numargs = @ARGV; # 引數的個數
PERL中,<>運算子實際上是對陣列@ARGV的隱含的引用,其工作原理為:
1、當PERL直譯器第一次看到<>時,開啟以$ARGV[0]為檔名的檔案;
2、執行動作shift(@ARGV); 即把陣列@ARGV的元素向前移動一個,其元素數量即減少了一個。
3、<>運算子讀取在第一步開啟的檔案中的所有行。
4、讀完後,直譯器回到第一步重複。
例:
@ARGV = ("myfile1", "myfile2"); #實際上由命令列引數賦值
while ($line = <>) {
print ($line);
}
將把檔案myfile1和myfile2的內容列印出來
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/82392/viewspace-591872/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- go 呼叫 shell 指令碼 如何傳遞引數Go指令碼
- shell (3)指令碼引數傳遞與數學運算指令碼
- shell指令碼中的變數及應用指令碼變數
- 向檢視傳遞變數變數
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- perl指令碼指令碼
- 向路由元件傳遞引數2種方法路由元件
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- Shell學習【引數傳遞】
- 向大家分享一個shell指令碼的坑指令碼
- 【Linux】什麼是shell指令碼?shell變數分為哪幾類?Linux指令碼變數
- 方法的過載、可變形參的方法、方法的引數值傳遞機制、遞迴方法遞迴
- JS的方法引數傳遞(按值傳遞)JS
- 傳送kafka訊息的shell指令碼Kafka指令碼
- shell指令碼之變數定義規範及使用指令碼變數
- shell指令碼程式設計學習筆記——變數指令碼程式設計筆記變數
- Linux中執行Shell指令碼的方式(三種方法)Linux指令碼
- 如何檢視Docker容器環境變數,如何向容器傳遞環境變數Docker變數
- linux shell指令碼中 =~ 的作用Linux指令碼
- CentOS shell中的變數CentOS變數
- Java方法04:命令列傳遞引數、可變引數Java命令列
- Shell 中 $ 關於指令碼引數的幾種用法指令碼
- Shell指令碼基本編輯規範及變數(詳細)指令碼變數
- 如何呼叫python中的shell指令碼?Python指令碼
- Shell指令碼中的 /Dev/Null 用途指令碼devNull
- [轉]寫好shell指令碼的13個技巧指令碼
- 使用python指令碼傳遞引數:(三種方式可收藏)Python指令碼
- Shell指令碼——Linux系統中的時間猜數字指令碼Linux
- shell指令碼:批次傳送curl請求指令碼
- SSM框架中Mybatis傳遞引數的幾種方法SSM框架MyBatis
- 什麼是Shell指令碼?Shell指令碼在Linux運維工作中的地位!指令碼Linux運維
- shell的引數和指令碼流程改進指令碼
- FastReport VCL在 TfrxReport.OnGetValue 中傳遞變數值AST變數
- shell指令碼指令碼
- Shell自學二(引數傳遞和陣列)陣列
- GridView傳遞兩個引數的方法View
- 在 `el-upload` 的事件中傳遞更多引數的方法事件