以下是我嘗試使用MachineB
上的PLINK
從MachineA
(Windows機器)執行的shell腳本。sh:...:當嘗試使用plink調用shell腳本時不是標識符
#!/bin/bash
export HIVE_OPTS="$HIVE_OPTS -hiveconf mapred.job.queue.name=hdmi-technology"
hive -S -e 'SELECT count(*) from testingtable1' > attachment22.txt
我使用plink
執行類似下面的shell腳本,
C:\PLINK>plink [email protected] -m test.sh
Using keyboard-interactive authentication.
Password:
Using keyboard-interactive authentication.
Your Kerberos password will expire in 73 days.
這是下面的錯誤,我總是得到每當我試圖像上面運行。
sh: HIVE_OPTS= -hiveconf mapred.job.queue.name=hdmi-technology: is not
an identifier
我的shell腳本有問題嗎?或一些尾隨空格?我無法弄清楚。我從窗機
如果你創建了'你的本地Windows機器上test.sh',你必須確保該文件具有Unix,而不是Windows,行結尾可讓它在遠程Unix主機上正常運行。 – chepner 2012-07-27 18:20:57
謝謝chepner。我怎樣才能確保'test.sh'有unix文件結尾?我使用'Notepad ++'來創建test.sh文件,並且有一個選項可以用unix格式創建它,並且我也採用了同樣的方法。 – ferhan 2012-07-27 18:22:21
嗯。在遠程機器上,您可以嘗試使用'file test.sh',並確保它沒有提及任何有關CRLF行結束符的信息。 – chepner 2012-07-27 18:27:35