Last active
March 17, 2016 12:30
-
-
Save NotFounds/30362840b8457a46c745 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
ROGNAME=$(basename $0) | |
VERSION="1.0" | |
HELP_MSG="'$PROGNAME -h'と指定することでヘルプを見ることができます"i | |
FLG_W=0 | |
FLG_R=0 | |
FLG_RT=0 | |
# ヘルプメッセージ | |
usage() { | |
echo "Usage: $PROGNAME [オプション]" | |
echo | |
echo "オプション:" | |
echo " -h, --help" | |
echo " -v --version" | |
echo " -w テンプレートファイルで上書きする" | |
echo " -r, --remove スクリプトを削除する" | |
echo " -rt, --rtemplate テンプレートファイルを削除する" | |
echo "スクリプトファイルは~/csscript-tmp.csに保存されます" | |
echo "テンプレートファイルは~/.csscript.csに保存されます" | |
exit 1 | |
} | |
# オプション解析 | |
for OPT in "$@" | |
do | |
case "$OPT" in | |
# ヘルプメッセージ | |
'-h'|'--help' ) | |
usage | |
exit 0 | |
;; | |
# バージョンメッセージ | |
'-v'|'--version' ) | |
echo $VERSION | |
exit 0 | |
;; | |
# オプション-w | |
'-w' ) | |
# テンプレートファイルで上書きする | |
FLG_W=1 | |
shift 1 | |
;; | |
# オプション-r | |
'-r'|'--remove' ) | |
# スクリプトを削除する | |
FLG_R=1 | |
shift 1 | |
;; | |
# オプション-rt | |
'-rt'|'--rtemplate' ) | |
# テンプレートを削除する | |
FLG_RT=1 | |
shift 1 | |
;; | |
esac | |
done | |
if [ -e ~/.csscript.cs ]; then | |
: | |
else | |
# 存在しない場合 | |
echo "curl "https://gist.githubusercontent.com/NotFounds/cb9b25c5dad105ae3638/raw/3edcd7d168bf5da95f83b3da5846023849d2c802/CSharpScriptTemplate.cs" > ~/.csscript.cs" | |
curl "https://gist.githubusercontent.com/NotFounds/cb9b25c5dad105ae3638/raw/3edcd7d168bf5da95f83b3da5846023849d2c802/CSharpScriptTemplate.cs" > ~/.csscript.cs | |
if [ $? -eq 0 ]; then | |
echo "スクリプトテンプレートを取得に成功しました" | |
else | |
echo "スクリプトテンプレートの取得に失敗しました" | |
fi | |
fi | |
if ( [ $FLG_W -eq 1 ] || [ ! -e ~/csscript-tmp.cs ] ) ; then | |
# テンプレートファイルで上書き | |
cp -f ~/.csscript.cs ~/csscript-tmp.cs | |
fi | |
vim ~/csscript-tmp.cs | |
if [ $? -eq 0 ]; then | |
echo | |
echo "Compile : mcs -warn:0 -o+ -r:System.Numerics ~/csscript-tmp.cs" | |
mcs -warn:0 -o+ -r:System.Numerics ~/csscript-tmp.cs | |
if [ $? -eq 0 ]; then | |
echo | |
echo "mono ~/csscript-tmp.exe" | |
echo " 実行" | |
echo "--------------------" | |
mono ~/csscript-tmp.exe | |
echo "--------------------" | |
echo | |
echo "rm ~/csscript-tmp.exe" | |
rm ~/csscript-tmp.exe | |
fi | |
fi | |
# -rのオプションが指定された場合 | |
if [ $FLG_R -eq 1 ]; then | |
echo "rm ~/csscript-tmp.cs" | |
rm ~/csscript-tmp.cs | |
echo "スクリプトファイルは削除されました" | |
fi | |
# -rtのオプションが指定された場合 | |
if [ $FLG_RT -eq 1 ]; then | |
echo "rm ~/.csscript.cs" | |
rm ~/.csscript.cs | |
echo "テンプレートファイルは削除されました" | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment