途中でユーザからの入力を求めるまた思いついたら書きますシェルスクリプト作成メモ(よく使うパターン編)前回の基本編では、主に構文まわりを書きました。今回のよく使うパターン編では、よく使う処理の塊を書いていきます。シンプルに書きましたので、処理を追加することで応用できると思います。-cbattan@linuxfx-01:~/work$処理中に一時的なディレクトリやファイルを作るディレクトリやファイル名にプロセスIDを付けて付けるとほぼほぼ被らずに一時的なフォルダやファイルを作成できます。取得できますので、次のようにすることで自動的に付与できます。temp_file.lockプロセスIDは再利用されますので、長期間かつ同時並行で多数起動するスクリプトの場合だと重複する可能性があります。その場合は、後述のdateコマンドの+%sを使うとかぶりません。+%s`長いテキストの取り扱い長い文字列はechoで頑張って書くこともできますが、次のように<<でEOFまでを標準入力に流し込む方が楽です。[option]inputfileには変換前ファイルを指定してください。outputfileには変換処理後のファイル名を指定してください。optionには、次のものが指定できます。0応用すると、sqlcmdやmysqlコマンドに直接SQLを流し込むことが可能です。ファイルリストで処理これはほんとによく使います。コマンドを実行して、そのファイルに対してなにかをする場合のループ処理。定数や関数を別スクリプトに定義して、それを読み込むとスクリプトファイルを分割できます。次のように定数(define.sh)や共通関数(common.sh)などを別ファイルにすることで扱いやすくなります。$?key=valueの分割キー=値を定義し、引数で指定したキーの値を取得する。$2}';;esacこのサンプルでは、引数がA~Zの場合に自身のスクリプトファイルを引数でgrepし、該当行を=で分割し、値だけを取り出してみます。Dbattan@linuxfx-01:~/work$途中でユーザからの入力を求める対話形式のスクリプトの場合は、これを使います。自動処理で処理を完結させたい場合はこれを使うと止まってしまいますので注意が必要です。"あなたが入力したのは、${s}です"fiスポンサーリンクまた思いついたら書きますざっと思いつくものだけ書いてみました。現役でシェルスクリプト書いていた頃は、AWKなんかもふんだんに使って、シェル芸人と呼ばれるぐらいいろいろ作っていたんですが、しばらく離れると忘れてしまうものですね。約15年ぶりぐらいにシェルスクリプトを書きました。効率...ファイルの一括処理はシェルにお任せ本書はシェルスクリプトとコマンド操作がまんがで楽しく学べます。ExcelやWord、PDF、CSV、テキストなどのドキュメントやデータを手早く一括処理して、効率的に業務を進められるようになります。(WEB...定番の1冊『シェルスクリプト基本リファレンス』の改訂第3版。シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。本書では、複数のプラットフォームに対応できる移植性の高いシェルスクリプト作成に主眼を置き、基本から丁寧に解説。amzn.toシェルスクリプトを極めたいサーバーを管理者やインフラエンジニアにはオライリー本で差をつけましょう。大型本(O'REILLY)Unixのプログラムは「ツール」と呼ばれます。Unixは、処理を実現するために複数の道具(ツール)を組み合わせる「ソフトウェアツール」という思想の下に設計されているためです。これらツールを「組み合わせる」ということこそがUnixの真髄です。シェルスクリプトの作成には言語自体だけでなくそれぞれのツールに対する理解も求められます。前回は、基本的な機能部分をWindows10と比較してみました。LinuxのOSイメージファイル(alterlinux-cinnamon-ja...ITUbuntu上にDocker環境を構築するちょいちょいDocker使うことがあるんですが、Linuxの方はいつも忘れてしまうのでメモしときます。システム開発をしていると、ファイルサイズを指定してダミーファイルを作成して、境界値テストやディスク容量枯渇時の動作検証をやる時があり、これを使うと準備が簡単にできます。LINUX前回、CentOSは最終安定版の8でサポート終了ということで、最後に記念で環境構築しました。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。最近はマネジメント業務ばかりやっていますが、エンジニアとしていつまでも現役でありたいので、時々手を動かしていますが、歳を重ねると物忘れがひどくなる一方なので、備忘録としてブログを運営しています。Reserved.ホーム検索トップサイドバータイトルとURLをコピーしました。