Shell

【シェル】ファイルに関する処理あれこれ

■ はじめに シェルで何かを行う際に、あの時のあの処理ってどう書いたっけ? ってことが多いので、メモ。 目次 【1】ファイル名を取り出す 【2】ファイル内容を表示する 【3】特定の拡張子でループさせる 【4】拡張子を別拡張子に置き換える 【5】ファ…

【シェル】 シェルで部分一致(前方一致・後方一致)

■ はじめに 小ネタ。 前方一致をやりたくて調べたら、 意外と grep を使ったりとかが多かった。 ただ、もっとシンプルにできる方法があったので、メモ。 ■ 部分一致(前方一致・後方一致) * 「case文」と 「ワイルドカード(*)」で簡単に実装できる => サ…

【シェル】JDBC を シェルスクリプトでパースする ~ bashによる文字列置換 ~

■ はじめに PostgreSQL / Redshift の JDBC URL をシェルスクリプトでパースして 各要素を参照する可能性があるので、 以下のサイトを参考にサンプルを実装してみる https://pslabo.hatenablog.com/entry/20150323/p1 ■ bashによる文字列置換 パースには、 …

【シェル】 バックアップ / リストア に関するあれこれ

■ 引数 引数が3つない場合 if [ $# -ne 3 ]; then echo "ERROR MESSAGE" exit 1 fi 引数を変数に設定 dump_file=$1 db_user=$2 db_password=$3 ■ 外部ファイル取り込み . ./.db_info echo "${MYSQL_USER} / ${MYSQL_PASSWORD}" .db_info MYSQL_USER=root MYS…

【シェル】 Javaを実行するシェルスクリプト

■ はじめに Java を実行するシェルスクリプトをメモ。 目次 【1】Javaのclassファイルを実行する 【2】実行可能JARファイルを実行する 【1】Javaのclassファイルを実行する サンプル #!/bin/bash # 【オプション】環境変数 export JAVA_HOME=/usr/local/j…

【シェル】 シェルスクリプトあれこれ

■ はじめに シェルスクリプトに関するメモ。 ファイルに関する処理あれこれ https://dk521123.hatenablog.com/entry/2020/09/28/000000 目次 【1】文字列チェック 【2】エラーがあった場合、そこで打ち止める 【3】ユーザを切り替えるには... 【4】カレ…

【シェル】【PostgreSQL】PostgreSQLのDBをエクスポート/インポートするスクリプト

■ はじめに pg_dumpall or pg_dump / pg_restore を使う。 pg_dumpall / pg_dump / pg_restore については、以下の関連記事を参照のこと。 ■ 実行環境 * OS : Debian8 * DB : PostgreSQL v9.4.15 詳しい設定については、以下の関連記事を参照のこと。 ■ バッ…

【シェル】ヒアドキュメント ~ 複数行の テキストをファイル出力する ~

■ ヒアドキュメント * 複数行の文字列を簡潔に記述するための機能 ■ 構文 cat > 【出力ファイル】 <<【任意文字】 【内容1】 【・・・】 【任意文字】 ■ サンプル SayHello.sh cat > HelloWorld.txt <

【シェル】 条件分岐 ~ if / case ~

■ はじめに シェルの条件式をメモ。 シェルの条件分岐 【1】if文 【2】case文 【1】 if文 * 結構覚えづらいので、メモ。 構文 if - else if [ 【条件式】 ]; then # 【条件式】が真 else # 【条件式】が偽 fi # 閉じるのは if の逆 if - elif - else if […

【シェル】 ファイル・ディレクトリの扱い ~ cp/rm/mkdir etc ~

■ コピー cp <オプション> [コピー元] [コピー先] オプション オプション 意味 備考 -r ディレクトリを再帰的にコピーする --recursive(再帰的な) -f 警告せず、上書きを行う --force(強制的にコピーする) -p パーミッションを保持したままコピー --preser…

【シェル】 ログバックアップを考える & 簡易スクリプトの作成

■ はじめに Apache や Tomcat 等でログが出力されるが、 そのまま放置したら大量なログが出てしまう可能性がある。 その一つの解決策として、定期的に圧縮してバックアップを取る といった事を考えられるので、その方法を調べ、簡易的なものを作ってみる ■ …

【シェル】関数

■ Hello World * まず、以下に「Hello World」的なサンプルを記す サンプル #!/bin/bash sample_function () { echo "Hello World!" } sample_function ■ 構文 関数本体 【関数名】() { # 処理 } 関数呼び出し () はいらない 【関数名】 ■ 関数の引数 * 関数…

【シェル】 シェル について ~基本構文編~

■ はじめに シェルスクリプトの基本的な構文・文法を纏める。 目次 【0】注意事項 【1】「#!/bin/sh」「#!/bin/bash」 【2】変数 / 定数 【3】配列 【4】連結 【5】囲い文字 【6】標準出力 【7】条件分岐 【8】ループ 【9】引数 【0】注意事項 * …

【シェル】 シェル について ~入門編~

■ シェル * ユーザからの操作を受け取った結果を表示するソフトウェア ■ シェルの種類 sh : Bourne シェル / POSIX シェル * 標準のシェル bash : バッシュ(bourne-again shell) * Bourne シェルを元に機能拡張したシェル * Linux で標準シェルとして採用 …

【PostgreSQL】ファイルからSQL文を一括で実行するには ~pdqlコマンドの利用~

■ はじめに * 開発環境設定やテストデータ作成の際に いちいち作ったりするのが面倒なので、 ファイルにして残しておけば、自分だけじゃなく 別の開発メンバーにも役立つので ファイルからSQL文を一括で実行する方法を調べてみた。 補足:pdql コマンド 以下…

【シェル】bash-completion ~ 入力補完 ~

■ インストール Debian系 sudo apt-get install bash-completion RedHat系 # CentOS sudo yum install bash-completion 参考文献 http://qiita.com/fetaro/items/8cf5169dc4d8a7ac9af6 https://cheaparchitec.wordpress.com/2016/07/01/centos7%E3%82%B3%E3%…