別のマシンに接続しssh
て bash スクリプトを実行していますが、問題のある部分は次のとおりです。
fkeypar "ex1.fef[1]" TSTARTI #### fkeypar is an external command to get some values to assign to the subsequent variables
t0i="$(expr $(pget fkeypar value) - 11544)"
fkeypar "ex1lc.fits[2]" TELAPSE
lengthini=`pget fkeypar value`
fkeypar "ex7lc.fits[2]" TSTOP
lengthfin=`pget fkeypar value`
fkeypar "ex1lc.fits[2]" TSTART
ijd=`pget fkeypar value`
i=$(echo "($ijd - $t0i) / $period + 1" | bc -l | sed 's/\..*//')
ifin=$(echo "($lengthfin - $ijd)/$period + 1" | bc -l | sed 's/\..*//')
echo "($ijd - $t0i) / $period + 1" | bc
for ((n=$i; n<=$ifin; n++))
do
...
これにより、次のエラーが返されます。
bc: symbol lookup error: /science/heasoft-6.14/x86_64-unknown-linux-gnu-libc2.9/lib/libreadline.so.6: undefined symbol: PC
bc: symbol lookup error: /science/heasoft-6.14/x86_64-unknown-linux-gnu-libc2.9/lib/libreadline.so.6: undefined symbol: PC
bc: symbol lookup error: /science/heasoft-6.14/x86_64-unknown-linux-gnu-libc2.9/lib/libreadline.so.6: undefined symbol: PC
./script: line 39: ((: n=: syntax error: operand expected (error token is "=")
グーグルでたくさん調べたところ、これらの「バグ」に非常に関連していることがわかりました: https://science.nrao.edu/forums/viewtopic.php?f=44&t=75
https://bugzilla.redhat.com/show_bug.cgi?id=162023
https://dba.stackexchange.com/questions/31143/libreadline-so-6
ランダムなことを試すことなく、それを修正する方法がわかりません。どんな助けでも本当に感謝しています。
編集:私は、多くの試行で、何度もssh-ingしたことを忘れていましたが、どうにかしてエラーを取得せず、質問で報告されたのと同じ構文でスクリプトを実行することができました。その時は構文の問題かと思ったのですが、その後のssh-ingsでまたエラーが出ました。
EDIT2:どのバージョンheasoft
をロードしても問題ありません。エラーは常にそのheasoft-6.14
バージョンで表示されます。これは可能な修正に関連していると思います。