![](/img/trans.png)
[英]Can I create a bash script that relies on the exit code from the previously executed command in my shell?
[英]Shell command executed from scala code not recognizing bash alias
我有一個scala文件,該文件執行類似於以下內容的hdfs命令:
hdfs dfs -mkdir /test/
在shell中運行命令時,該命令運行良好,因為在.bashrc文件中設置了以下別名:
alias hdfs='/usr/local/hadoop-2.7.0/bin/hdfs'
...但是,當我使用SBT構建在Scala代碼中運行shell命令的代碼時,出現以下錯誤:
java.io.IOException: Cannot run program "hdfs": error=2, No such file or directory
有什么辦法可以識別別名? 我無法更改代碼,因為我希望程序在安裝了hdfs的任何系統上運行,無論目錄如何,唯一需要更改的就是別名。
進一步的信息:我正在使用hadoop在docker映像中運行測試(不應更改任何內容),該映像運行一個腳本,該腳本在每次容器啟動時執行以下兩行:
source ~/.bashrc # To get the alias
shopt -s expand_aliases # To allow alias expansion in your script
在我的.bashrc文件中的以下行已修復
export PATH=$PATH:/usr/local/hadoop/bin/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.