シェルスクリプト

スポンサーリンク
Linux

シェルスクリプトで変数が空文字であるか調べる

シェルスクリプトで変数が空かどうかを調べるシェルスクリプトで変数に値が入っているか調べるには、testコマンドやif分で変数の値を比較して調べることができます。testコマンドで変数が空文字であるか調べるtestコマンドで「-n」を使えば、...
Linux

ファイルの所有者を監視するスクリプト

ファイルの所有権を変更されていないか監視するスクリプトPHPでファイルの書込み処理をするプログラムがあって、そのファイルの所有権が「apaceh」以外だとパーミッションエラーとなり書込みが失敗するので、ファイルの所有者がApacheから変更...
Linux

Cronで日本語のメールを送ると文字化け・添付ファイルになる

日本語の文字列があるメールを送ると添付ファイルなる場合の対処法件名は日本語でメール本文に日本語文字列があるメールを送信するシェルスクリプトを作って、スクリプトを実行してメールを送信すると受信したメールの件名・本文ともメールクライアントでは、...
Linux

while readで最終行が処理されない【シェルスクリプト】

while readを利用して、catコマンドでファイルを読むこんだ場合に、最終行がある文字が読み込まれない問題Windowsで生成したファイルをシェルスクリプトでwhile readを利用して、catコマンドでファイルを出力して、内容を読...
Linux

シェルスクリプトを利用して、iptablesに特定のIPを拒否するスクリプト

シェルスクリプトの引数に特定のIPを指定して、そのIPをF/Wに追加するiptablesのF/Wで特定のIPアドレスを拒否(DROP)したい場合に、その都度コマンドを入力するのが面倒なので、シェルスクリプトで引数に拒否したいIPアドレスを指...
Linux

シェルスクリプトで「Enter」を押さないと処理を進めないようにする

「Enter」キーの入力しないと処理を一時停止するシェルスクリプトで処理を進めていて、変数とか処理に問題なければ処理を進めたいケースがあります。その場合に「エンター(Enter)キー」を押すと処理を進める場合は「read Wait」という ...
Linux

dateコマンドで、ファイルのタイムスタンプを取得

指定したファイルのタイムスタンプを取得する方法指定したファイルの日付・時間等のタイムスタンプを取得するには「date」コマンドを使用すれば取得できます$ ls -l test.txt-rw-rw-r-- 1 centos centos 34...
Linux

Windowsで作成したシェルスクリプトで実行すると、「command not found」エラー

シェルスクリプトを実行すると「$'\r': command not found」のエラーシェルスクリプトを作るときはAtom等のエディタで作ってSCPでアップしていました。macOSからWindowsに変更しても同じような感覚で作成すると「...
Linux

関数の呼び出し順で「command not found」のエラー

シェルスクリプトで関数の場所を間違えると「command not found」になる関数を使ったシェルスクリプトで関数の呼び出す場所は、定義した関数より前に書くと「command not found」や「Main: コマンドが見つかりません...
Linux

シェルスクリプトでwhile内のでsshコマンドを使用すると1回しか処理されない

シェルスクリプトでwhile文を利用して、そのループ処理内にsshコマンドを使用するとループ処理されずに1回のみとなる場合の対処方法です下記のシェルスクリプトでは、LIST_FILE=/home/admin/list.txt にファイル名が...
Linux

lftpを使用して自動同期する

FTPサイトでlftpコマンドでファイル・ディレクトリを同期するlftpはFTPサイトでファイルやディレクトリをダウンロードできたりアップロードできたりするコマンドです。通常のFTPクライアントではrsyncのように特定のディレクトリを同期...
Linux

起動時間が一定以上のプロセスをKillするスクリプト

長時間起動したままのプロセスをKillするCronで実行するスクリプトで実行時間が短いはずなのに長時間起動したままで終了していないプロセスがあり、プロセスが残っていた状態でメモリが使用率が増えるケースがありました。1週間以上とか起動したまま...
Linux

シェルスクリプトで変数内の改行を有効にする

改行を含まれる変数で改行を表示するシェルスクリプトを改行を含まれる変数をechoコマンドなどで表示した場合に、下記のように改行がスペースに変換される場合があります。$ cat test.sh#!/bin/bashTEST="12345ABC...
Linux

cron実行時に環境変数を読み込む

Crontabを実行時に環境変数が読み込まれないcronに登録しているスクリプトでログに特定の文字を含むとメールするスクリプトがあります。メールする本文やタイトルに日本語文字が場合に文字化けが発生しました。スクリプト単体だと問題なく日本語で...
Linux

サービス・プロセスの起動確認するシェルスクリプト

サービスやプロセスの起動確認して落ちていれば起動するシェルスクリプト特定のプロセスやサービスの起動を確認して落ちていれば起動するシェルスクリプトです。シェルスクリプトの流れは、psコマンドでプロセスを確認して、wcコマンド起動してるプロセス...
スポンサーリンク