Skip to content

Instantly share code, notes, and snippets.

@NotFounds
Last active March 17, 2016 12:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NotFounds/30362840b8457a46c745 to your computer and use it in GitHub Desktop.
Save NotFounds/30362840b8457a46c745 to your computer and use it in GitHub Desktop.
#!/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