EC2 Run Command (Linux)のRunRemoteScriptを使ってみた。

ランコマンドでスクリプトを流し込みたい! コマンドのときにRunShellScriptで流し込んでたけど、長いからshファイルとかをそのまま実行してほしい! 毎回実行してほしいけど、定期的に実行するスクリプトを更新するか…

Read more

【AWS-CLI】一時的にプロファイルを設定する

環境変数にすることでシェルスクリプト内のみで一時的に有効なプロファイルを使える。 configに左右されないし、わざわざ登録しなくて良いので楽で融通がきく。 export AWS_ACCESS_KEY_ID=”” exp…

Read more

sshを簡単に

鍵認証を採用しないRASなど、password認証を強制される場合にexpectコマンドを使用してパスワードの入力を省略します。 #!/bin/sh PW=”pass” expect -c ” spawn ssh hog…

Read more

全角文字(ASCII以外)がある行を検出

以下の正規表現を使うことでASCII以外の文字、つまり全角文字がある行を検出することができる。 全角はプログラミングの敵なので結構使える。 半角カタカナは全角ではありませんが、ASCIIではないので検出します。 cat …

Read more

シェルで引数が存在するかの判定を行う

「$#」には引数の数が格納されている。 これを用いると判定を行える。 以下は引数が2個以外のときに終了する例である。 if [ $# != 2 ]; then echo “引数の数が間違っています!” exit 1 fi

Read more

AWS CLIでインスタンスを削除する

インスタンスID以下のようにスペースを空けて書いていくと複数削除することができる。 aws-profile=example instance-ids=”1234-1234 2345-2345 3456-3456″ 実行 …

Read more

awsのインスタンス初回起動時にスクリプトを実行させる

自分の作ったAMIから作成→起動させたあとに初期化スクリプトを実行 この流れが面倒なときや、初回にセッティングする内容が決まってるのであれば起動時に一緒にやってもらいましょう。 https://docs.aws.amaz

Read more

パイプ処理による解析時間の短縮

パイプ処理は並列処理で行われるためアクセスログなどの膨大なデータの解析にはもってこい。 むしろfor文とかで回すのはごもっとも。 一番下の数字が処理時間。 accesslogは小さいログファイルで、accesslog2は…

Read more

シェルスクリプトの実行時間を表示

bashなどのシェルには「$SECONDS」というシェルが起動してからの時間が記録されている環境変数がある。 なので、これを使えば表示出来る。 echo $SECONDS 任意の時間から図りたいなら以下のようにリセットす…

Read more

シェルでエラーが起きた時に停止するようにする

シェルでエラーが起きると途中で停止しない。 エラーでさらにエラーが出ると非常に面倒なので止まるようにする。 set -eu これを先頭に付け加えれば出来る。

Read more

内容に特定文字列を含むファイル検索

ファイル名検索じゃないです。中身で検索です。 command grep -rnw [directry] -r [target string]

Read more

シェルで変数の空文字判定

以下を使用すると変数の文字が空じゃないときのみ処理を行えます。 逆の場合はelseで対応するか、-zにすることで出来ます。 空じゃないときのみ if [ -n “$STRING” ]; then #処理 fi 空のときの…

Read more

Shellにおける変数に格納されている値の数値(整数)判定

exprを用いて、数値判定をさせます。 USER_NUM=$1 expr “${USER_NUM} + 1” > /dev/null 2>&1 if [ $? -lt 2 ] ; then # 数値 …

Read more

シェルの出力に色を付ける

echoコマンドで色属性のエスケープシーケンスを記述することにより、シェルの出力文字に色をつけることができます。   構文は以下 \e[色属性m 例えば文字色を赤にして出力するときは以下のように記述します。 echo -…

Read more

[PostgreSQL] 対話形式でパスワードを入力しない

スクリプトでpsqlコマンドをワンライナーで実行したい時、PostgreSQLは対話形式でパスワードを聞いてきます。 また、MySQLのように-pオプションがありません。 PostgreSQLで対話形式でパスワードを入力…

Read more