Screaming Loud

日々是精進

scalaからProcessを使って違うディレクトリでshを叩く

scalaでは他の言語でもできるように、コマンドを叩くことができます。

実際に色んな方が、Processの仕方を紹介をしています。
scala.sys.process | Scalaの標準ライブラリを使ってみる | mwSoft
Scala 2.9.0のscala.sys.processパッケージが便利過ぎる件について - kmizuの日記
scalaで外部コマンドを実行する - Qiita

詰まったところ

実行するjarファイルとは違うディレクトリのファイル操作を行いたかったのですが、cdコマンドがうまく動きませんでした。

解決方法

第2引数にjava.io.Fileのインスタンスを突っ込むとできました。

一つ目は正しく動く方法で、ふたつ目はうまく動かない方法です。

!マークは同期実行です。
非同期実行させたい場合は、!ではなくrunを利用しましょう。