シェルスクリプトのクォートの使い方と変数埋め込みの方法まとめ
シェルスクリプトでのクォートの違い シェルスクリプトでは文字列を扱うために3種類のクォート(シングルクォート、ダブルクォート、バッククォート)があり、それぞれ異なる役割を持ちます。それぞれの違いについてまとめます。 例えばクォートで囲った文字列を echo で出力するシェルスクリプトでそれぞれの違いを見ていきます。 #!/bin/bash DATE='date' echo $DAT […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
シェルスクリプトでのクォートの違い シェルスクリプトでは文字列を扱うために3種類のクォート(シングルクォート、ダブルクォート、バッククォート)があり、それぞれ異なる役割を持ちます。それぞれの違いについてまとめます。 例えばクォートで囲った文字列を echo で出力するシェルスクリプトでそれぞれの違いを見ていきます。 #!/bin/bash DATE='date' echo $DAT […]
結論 先に結論を申し上げると Ctrl+Z で一時停止し、bg でジョブをバックグラウンドで再開するだけです。2つを続けて実行すればよいです。 フォアグラウンド処理をバックグラウンド処理に変更 現在のシェルのフォアグラウンドで実行中のコマンド処理を、処理を終了せずにバックエンドへ移動させる方法をまとめます。 nohup [コマンド] & みたいにしてコマンドを実行することで、ログイン中のシ […]
シェルスクリプトで .env .envファイルで定義した内容をシェルスクリプトから参照するために、環境変数として読み込む方法をまとめます。 . ├── .env └── my_script.sh こんな感じの構成になっていて、my_script.sh から .env ファイルを読み込んでその中で定義された変数を参照できるようにします。 .envの内容をシェル変数として読み込む実装方法 .env フ […]
ファイルを削除できないようにしたい Linux の rm コマンドでファイルを削除できないようにしたいです。 結論 chmod 0 [ファイル名] でファイルの書き込み権限を無効にしても実行時に確認メッセージが表示されるだけで、普通に削除できてしまいます。ファイル削除を禁止するには chattr +i [ファイル名] でファイル属性に変更不可属性を追加してやればよいです。 書き込み不可の権限では削 […]
find コマンド find コマンドはファイルやディレクトリのパスを検索するためのコマンドです。基本的な使い方は以下の通りです。 $ find [検索するパス] 例えば find . とするとカレントディレクトリ以下の全ファイルとディレクトリを再帰的に走査して表示します。 . ├── FOO.LOG ├── bar │ ├── bar.txt │ └── tmp.txt ├── foo. […]
diff コマンドの基本 diff – Wikipedia diff コマンドは2つのファイルを行ごとに差分を確認するための Linux コマンドです。 2つのファイルパスを指定すれば差分がある行を表示できます。 $ diff [FILE1] [FILE2] サンプルデータ サンプルデータとして a.txt と b.txt の2ファイルを用意します。 a.txt aaXa cccc d […]
Pythonだと nohup コマンドの出力が終了時にしか出力されない Python で次のようなコードがあるとします。30秒間カウントし続け、それを出力します。 import time for i in range(0, 30): print(i) time.sleep(1) これをバックエンドで実行するために以下のようなコマンドで実行します。 $ nohup python x.py & […]
Windows で作成した シェルスクリプトが Linux でエラーが発生する エラーの内容 以下のようなシェルスクリプトを Windows で作成します。 a.sh #!/bin/bash echo hello world "hello world" を出力するだけのコードです。 これを Linux 環境に移して実行します。例えば WSL(Ubuntu) に移して実行してみる […]
Linuxでディスク使用量を調べたい Linuxのマシンで各ディレクトリでどれくらいのディスク容量を使用しているのか調べる方法をまとめます。 du コマンドを使用することでディレクトリの使用している合計サイズが確認できます。 du コマンド du コマンドは指定したパスのファイルやディレクトリのサイズを調べるコマンドです。パスの指定がなければカレントディレクトリのサイズを調べます。 duコマンドの […]
Windows Subsystem for Linux とは Windows Subsystem for Linux – Wikipedia Windows Subsystem for Linux (WSL) は Windows10 から Linux を利用するための仕組みです。Windows 10 より前のOSでは使えません。 VM 等で動かすのではなく Windows 上から直接 […]