ワンクリックでJavaファイルを簡単に実行および編集するのに役立つシェルスクリプトを作成しようとしています。私は、スクリプトがJavaファイル名を引数として使用し、後続の操作に3つの異なるオプションを提供するということです。そのうちの1つをクリックする必要があり、それに応じて作業が完了します。私はbashシェルを使用しています。私が書いたコードを提供し、クエリを引用します。
#!/bin/sh
if [ $# -eq 0 -o $# -gt 1 ] ; then
echo "Provide single filename"
exit
fi
file="$1"
if echo "$file" | grep ".java$" >/dev/null ; then
file=`expr "$file" : '\(.*\).java'`
fi
file=`echo "$file" | tr -d '.'`
file_with_ext=$file.java
response=`kdialog --radiolist "What do you want to do?" 1 "Run Program" on 2 "Open with vi" off 3 "Open with vi and then Run" off`
if [ -z $response ] ; then
exit
fi
if [ $response -eq 2 -o $response -eq 3 ] ; then
if [ ! -s "$file_with_ext" ] ; then
initcode="public class $file{
public static void main(String[] args){
}
}
"
echo "$initcode" > $file_with_ext
fi
vi $file_with_ext
fi
if [ $response -eq 1 -o $response -eq 3 ] ; then
javac $file_with_ext
if [ $? -eq 0 ] ; then
java $file_with_ext 2>/dev/null
if [ $? -ne 0 ] ; then
java $file
fi
fi
fi
これで、このスクリプトにさらに多くの機能を追加したいと思います。特定のキーの組み合わせを押すたびに、スクリプトがJavaプログラムを実行し(コンパイル後)、他の端末に出力を提供したいと思います。テキストエディタなしで簡単にできます。しかし、viエディタでjavaファイルを編集しているため、breakキーを使用するとシェルスクリプトにキャプチャされず、viエディタではコマンドとして扱われます。
私が望む結果を得る方法はありますか?
どんな助けや指導にも感謝します。ありがとうございます!