2017-05-18 1 views
0

csvの内容を読み込み、シェルスクリプトを使って別の関数に渡そうとしています。私はシェルスクリプトに慣れていないので、それを行う方法を理解できません。CSVから値を読み込んで別の関数に渡す[シェルスクリプトを使って]

ConvertedCSVpath="/home/test/Desktop/Outfile.csv" 

    converttoCSV() 
    { 
    for i in /home/test/repos/pgp-automation/TestSuite/Suite1495088054448/Outfile.xlsx; 
    do libreoffice --headless --convert-to csv "$i" ; 
    done 
    IFS=, 
    while read Tstcase OrderID MID 
    do 
     echo "Testcase: -> $Tstcase" 
     echo "OrderID: $OrderID" 
     echo "ID: $MID" 
    done < $ConvertedCSVpath 
    } 
それは私が受注を取るとによってPassVariable機能1でそれを使用する必要が

TestCase_002-、1495088066891、atoRef79606157945546 TestCase_002,218271828172187、C192819821981

PassVariable() 
    { 
    echo The order ID is $OrderID 
    } 

    converttoCSV 
    PassVariable 

CSVファイルに変換している

1。つまり、最初に1495088066891を取得してPassVariableに渡し、次に218271828172187に渡して、再度PassVariableに渡して印刷します。これどうやってするの?

答えて

0

私はあなたが達成しようとしていることを理解していませんが、パラメータを使ってbash関数を呼び出す方法と呼び出された関数でそれを使用する方法が問題ならば、これはあなたのやり方です:

PassVariable() { 
    echo $1 # Print first parameter 
} 

PassVariable "$OrderID" 

は、より多くの情報のためにこれを参照してください。Passing parameters to a Bash function

+0

私はそれを考え出しました。この場合は、awkにIFSとWhileループを使用する方がよいでしょう。とにかく、ありがとう。 :) –

関連する問題