2015-09-18 29 views
0

嗨我試圖直接添加一個目錄到我的流浪者提供的路徑,但沒有按預期工作。我用這條線流浪者提供寫入PATH變量.profile

echo PATH=\""$"PATH:/opt/paraviewopenfoam410/bin\" >> /home/vagrant/.profile 

如果我使用一個終端裏面的作品如預期將在該.profile以下行

PATH="$PATH:/opt/paraviewopenfoam410/bin" 

,但在流浪者提供使用時,其結果是:

PATH="PATH:/opt/paraviewopenfoam410/bin" 

缺少的$符號和破PATH可變

+0

是否流浪漢做自己的變量逃逸? Dequoting?等等。?難道這只是一個需要逃避的問題嗎?同樣使用'\「\ $ PATH ... \」'可能讀一點清潔劑。 –

+1

@EtanReisner這樣做會解析$ PATH變量並輸出結果,而不是將'$ PATH'(名稱不是值)放在文件中 –

+0

做什麼?轉義'$'?這就是你所有的報價遊戲都只是用更多的角色來完成。再說一遍,除非流浪者正在做自己的變量擴展,在這種情況下,你可能只是有一個引用問題。 (嘗試'echo \「」$「PATH - \ $ PATH \」'並在你的shell提示符下看看你得到了什麼。) –

回答

1

當使用"這將解決變量,因此無論你如何把它和逃避它,流浪漢將解決$PATH變量和輸出結果在.profile

如果你只是想有明文$PATH你只需要'

echo PATH=\'$PATH:/opt/paraviewopenfoam410/bin\' >> /home/vagrant/.profile 

辦會工作得很好

+0

謝謝我不知道這件事,我一直認爲提供腳本像bash一樣運行腳本沒有可變評估或替換。再次感謝,完美的作品 – efirvida

相關問題