シェルスクリプト

シェルスクリプト

【Linux】rsyncコマンド使い方

rsyncコマンドとは scpコマンドの上位互換で、サーバー間でファイルの転送をするときに良く利用されるコマンド。 scpより優れている点は「差分を確認し、差分があったファイルだけを更新する」ところ。 基本構文 $ rsync オプション ...
シェルスクリプト

【zsh】プラグインマネージャーを導入する

それぞれのプラグインをインストールする前に、まずはプラグインマネージャーをインストールしておく。 そうすることで、プラグインの煩雑なインストール/アンインストールを適切に管理できる。 利用したプラグインマネージャー 今回はzplugを使うこ...
シェルスクリプト

curlでファイルをダウンロードする

curlコマンドを使ってWeb上にあるデータをダウンロードし、名前をつけて保存する方法を解説する。 結論 以下のコマンドでOK。 ファイル名を指定する場合 # 構文 curl -L "ダウンロードしたいURL" -o ファイル名 # 例 c...
シェルスクリプト

ダブルクォートがエスケープされたjsonを整形する

やりたいこと ■Before bbb.json "{\"name\":\"hoge\",\"age\":12}" ■After { "name": "hoge", "age": 12 } 結論 $ cat bbb.json | jq -r ...
シェルスクリプト

【fish】環境変数、シェル変数の設定

はじめに はじめに、環境変数とシェル変数の違いを理解しておく必要がある。 シェル変数と環境変数の違いは、有効範囲である。 シェル変数環境変数現在実行中のシェルのみで有効な変数新たなシェルを起動しても引き継がれる どちらも同じコマンドを利用し...
シェルスクリプト

【Linux】sshログアウトしてもコマンドをバックグラウンドで実行する

長時間のバッチ実行をリモートのサーバーで実行し、放置しておきたい場合の手順を解説する。 sshログアウトするとプロセスがkillされてしまう &を利用して単純にバックグラウンドで実行するだけの場合、sshログアウトするとそのプロセスはkil...
シェルスクリプト

【Linux】シェルスクリプトの実行場所を気にしなくて良いように、相対パスでも絶対パスでも同じ動作をさせる

課題 次のような外部ファイルに依存するシェルスクリプトは、cronによって絶対パスで実行されたときと、手元で実行したときとでは実行場所が異なるため、うまく動かないケースがある。 main.sh #!/bin/bash ./hello.sh ...
シェルスクリプト

【Linux】作成するファイル名に日付を入れる

ログファイルやAPIのリクエスト結果をファイルに保存しておく時、上書きしないように毎回ファイル名を変更するのは大変だ。 そのため、保存するファイル名に日付や時刻を入れておくようにすると、同じコマンドでも実行した時間によって別のファイルに保存...
シェルスクリプト

【Linux】改行コード\nを改行として表示する

ログファイルなどを調査しているとき、フォーマットによっては下記のように改行コード\nがそのまま埋め込まれているものに遭遇する。 こんな時はワンライナーコマンドで見やすくしよう。 対象のファイル 今回は、以下のような内容が書かれているファイル...