我被ssh
連接到另一臺機器上執行bash腳本,它的問題的部分如下:libreadline未定義符號:使用|時在bash中的PC BC -l
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,我管理某種方式沒有得到錯誤並運行腳本,與問題中報告的語法相同。那一刻,我認爲這是一個語法問題,但隨後的錯誤再次出現在隨後的ssh-ing中。
EDIT2:IT沒有關係我加載的heasoft
版本是什麼版本,該錯誤總是出現在heasoft-6.14
版本。我認爲這與可能的修復有關。
這不是特定於腳本 - 它是在特定機器上覆制bc的問題。讓你的系統管理員幫忙;這不是我們可以在這裏引導你的東西。 –
@CharlesDuffy,我明白了。你是什麼意思「讓你的系統管理員幫忙」?它是一個文件還是一個人? –
您的系統管理員 - 一個人。 –