RestCloud ETL解決shell指令碼引數化
RestCloud ETL社群版是一款資料整合工具,提供視覺化多資料管道構建、資料來源管理、執行監控及許可權管理功能。
RestCloud平臺中如何將變數傳入shell指令碼中使用,平臺中有兩種方式執行shell指令碼,分別是元件內編寫指令碼程式碼和呼叫指令碼檔案,根據不同的執行方式也有不同的獲取變數的方式。
1.元件內編寫指令碼
元件內編寫指令碼的變數獲取方式與其它元件獲取變數的方式相同,使用${變數id}就可以獲取到變數資料。如下圖所示:
這裡做個簡單的流程,把資料庫表中的某個欄位資料作為變數逐條輸入到shell指令碼當中。
這裡是資料庫資料,流程中會將姓名作為變數。
庫表輸入元件的配置這邊略過,簡單的能夠成功讀取輸出資料就行。
逐行輸出這裡需要將欄位資料轉成為變數資料輸出到下一個節點。
這裡是shell指令碼配置,寫個簡單的指令碼,使用${變數id}呼叫上個節點傳入的變數資料。
執行之後可以看見已經成功通過${姓名}獲取到了資料庫輸出的資料。
2.呼叫指令碼檔案
這個是呼叫已經寫好的shell指令碼檔案,指令碼檔案中不用定義變數的名字,直接使用 $變數id 這種方式呼叫就可以成功呼叫流程中傳入的變數。如下圖:
這裡同樣採用上面的流程和資料庫,只是稍微修改了一下shell元件的指令碼內容。
因為是讀取的指令碼檔案,這裡需要填寫一下指令碼所在的目錄。在shell指令碼中執行檔案以及使用${變數id}來獲取變數即可,注意:若是多個變數就需要注意變數的順序。
這裡進入到檔案所在目錄後使用pwd檢視當前所在的路徑地址。
使用vim 檔名稱 進入指令碼檔案編輯指令碼程式碼,這裡簡單的列印第一個變數和一個hello,在檔案中使用$1~$n來新增傳到Shell的變數值。$1是第1變數、$2是第2變數…。
配置完成,執行後檢視結果。
可以看到shell成功獲取了變數資料,輸出到了日誌中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005218/viewspace-2902385/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- bash shell指令碼接受多個引數指令碼
- 使用RestCloud ETL輕鬆解決WebService資料同步RESTCloudWeb
- ETL資料整合平臺,RestCloud視覺化ETLRESTCloud視覺化
- go 呼叫 shell 指令碼 如何傳遞引數Go指令碼
- shell的引數和指令碼流程改進指令碼
- Jmeter的指令碼引數化JMeter指令碼
- shell (3)指令碼引數傳遞與數學運算指令碼
- Shell 中 $ 關於指令碼引數的幾種用法指令碼
- Docker部署RestCloud ETL社群DockerRESTCloud
- 解決shell指令碼錯誤$’r’ command not found指令碼
- 執行 shell 指令碼 \r 問題解決指令碼
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- Restcloud ETL社群版,即插即用RESTCloud
- 批次解壓shell指令碼指令碼
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- 使用RestCloud ETL Shell元件實現定時排程DataX離線任務RESTCloud元件
- RestCloud ETL與Kettle對比分析RESTCloud
- ETL指令碼的實現指令碼
- shell指令碼指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- RestCloud ETL平臺是怎樣的?RESTCloud
- RestCloud ETL WebService資料同步到本地RESTCloudWeb
- RestCloud ETL 社群版背後的故事RESTCloud
- Shell 指令碼程式併發&程式數控制指令碼
- 3個例項介紹shell指令碼中幾個特殊引數的用法指令碼
- shell指令碼(3)-格式化輸出指令碼
- shell指令碼案例指令碼
- 常用shell指令碼指令碼
- Linux Shell指令碼Linux指令碼
- RestCloud ETL社群積分商城重磅上線RESTCloud
- Restcloud ETL 我的演算法我做主RESTCloud演算法
- shell指令碼(6)-shell陣列指令碼陣列
- Shell解析引數
- 用Shell指令碼來解決DOS安全Linux伺服器生產指令碼Linux伺服器
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- shell指令碼中的變數及應用指令碼變數
- shell指令碼獲取時間格式化指令碼
- ETL資料整合,RestCloud資料整合平臺RESTCloud