我想從Scala內部編譯一個bash腳本。爲了緩解這個問題,我想使用字符串插值。然而,bash變量和Scala字符串插值似乎並不能很好地相互配合。下面是一個例子如何使用Scala字符串插值來參數化bash腳本?
val someFile="test.txt"
val bashScript = s"""
newFile=${someFile}.filtered
grep foobar $someFile > $newFile
"""
這將導致編譯錯誤,因爲$ newFile不能被內插。但是,字面上保持$ newFile的原樣會給出預期的有效bash腳本。
可能的解決方案已經越過我的腦海裏,但我不知道他們是否可行,也不如何實現它們
泰爾階使用不同的前綴插值 表達,例如通過實現自定義內插器
以某種方式忽略不可插入的表達式並將它們保留爲 它們是。
看一看菊-OPS然後你沒有在所有 http://lihaoyi.github.io/Ammonite/#Ammonite-Ops使用BASH – oluies