簡體   English   中英

從shell腳本向js腳本傳遞變量

[英]Passing a variable to a js script from a shell script

我有以下shell腳本,它針對mongo db啟動了js腳本,我希望將變量傳遞給js文件。 第二個警告是,我需要將此變量存儲在unix框中的某個位置,以作為腳本的最后運行時間。 任何幫助或指針表示贊賞。

# check if previous job still running
if [ -f /tmp/mapreduce_compound.lck ]
then
    exit
else
   # if no lock file present, create one
   touch /tmp/mapreduce_compound.lck
fi

mongo -u xxx mongo1.pilot.dice.com:27017/tracking /usr/local/gemini/mongodb/tracking/mapReduceFunctionsByGroupIdIterative.js > /tmp/mapReduceFunctionsByGroupIdIterative.txt 2>&1


#remove lock file
rm /tmp/process_nightly.lck

您可以使用

--eval 'var param="$yourparam";'

傳遞參數。

注意:這並沒有傳遞太多參數,您的腳本可以使用定義變量,但可以成功。

因此,如果您想為您的shell腳本傳遞第一個參數,則可以執行以下操作:

# check if previous job still running
if [ -f /tmp/mapreduce_compound.lck ]
then
    exit
else
   # if no lock file present, create one
   touch /tmp/mapreduce_compound.lck
fi

MONGOARG=$1
echo $MONGOARG > lastargcalled

mongo -u xxx --eval 'var param="$MONGOARG";' mongo1.pilot.dice.com:27017/tracking /usr/local/gemini/mongodb/tracking/mapReduceFunctionsByGroupIdIterative.js > /tmp/mapReduceFunctionsByGroupIdIterative.txt 2>&1


#remove lock file
rm /tmp/process_nightly.lck

要將其他變量傳遞到javascript文件,請使用process.argv 是節點js文檔的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM