让beanshell和bashshell一起工作
2019獨角獸企業重金招聘Python工程師標準>>>
beanshell可以很方便的操作Java類
bashshell可以亦可以很輕易的使用linux系統資源
要讓Java和Linux在一起愉悅的工作,beanshell和bashshell的相互調用,很有必要實現
beanshell調用bashshell很簡單,exec就可以了
而bashshell里使用beanshell卻很難找到好的方案
google一大通,參考網上現有的方案,目前想到以下三種解決辦法
1,直接通過hashlang(#!)指定 java 調用 bsh.Interpreter
root@mo :~/tmp# cat test.bsh
#!/opt/jdk/bin/java bsh.Interpreter
print("aaa");
2, 利用系統環境變量,在 /root/.bashrc下面做如下修改
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/bsh_2.0b4.jar
export bsh="java bsh.Interpreter"
主要是最后一句,這樣使用bsh直接在shell下敲 $bsh就可以了 很方便
3,利用expect,交互
root@mo :~/tmp# echo $bsh > /usr/bin/bsh
root@mo :~/tmp# chmod 777 /usr/bin/bsh
root@mo :~/tmp# cat tt
#!/usr/bin/expect
spawn bsh
expect "%"
send "print(\"a\");\r"
interact
目前想到的辦法就這三個,雖然比較丑陋,但也基本能使了,先湊合著用。。
AnyWay
If you do better, Please?submit your command?here.
Thanks!
轉載于:https://my.oschina.net/u/347059/blog/89879
總結
以上是生活随笔為你收集整理的让beanshell和bashshell一起工作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用VB构键Internet的应用
- 下一篇: 组策略系列之四:《精典放送:组策略管理2