shell

2/3ページ

[Linux] echo の使い方まとめ

Linux コマンドの基本 echo エコー (コンピュータ) – Wikipedia Linux コマンドでも最も基本的なコマンドの echoの使い方をまとめます。echo は入力内容をそのまま返してくれるコマンドです。 Linux のコマンド操作の動作確認やシェルスクリプトで何かとよく使うので使い方をまとめます。 echo echo コマンドは単純にテキストを標準出力に吐き出すコマ […]

sed コマンドで改行コードを置換したり削除する方法

sed コマンドで改行コードを置換したり削除したい GNU sed – GNU Project – Free Software Foundation sed コマンドはテキストをフィルタリングしたり操作するためのコマンドです。テキストファイルから入力を受け取り、何らかの操作を実行し結果を出力します。直接操作結果でファイル内容を変更することも可能です。 今回は改行コード(CR […]

シェルスクリプトでtry-catch-finallyを実装する方法

シェルスクリプトで try-catch-finally プログラミング言語には、たいていの場合 try-catch-finally で例外処理と終了処理が実装できます。シェルスクリプトのような複雑な機能を実装するのが難しい言語でも try-catch-finally を実装する方法をまとめます。 実装方法としては set -e でエラー発生時にその時点で終了する設定をする trap で catch […]

シェルスクリプトのクォートの使い方と変数埋め込みの方法まとめ

シェルスクリプトでのクォートの違い シェルスクリプトでは文字列を扱うために3種類のクォート(シングルクォート、ダブルクォート、バッククォート)があり、それぞれ異なる役割を持ちます。それぞれの違いについてまとめます。 例えばクォートで囲った文字列を echo で出力するシェルスクリプトでそれぞれの違いを見ていきます。 #!/bin/bash DATE='date' echo $DAT […]

[Linux] 実行中のコマンドをバックエンド処理(nohup)にする

結論 先に結論を申し上げると Ctrl+Z で一時停止し、bg でジョブをバックグラウンドで再開するだけです。2つを続けて実行すればよいです。 フォアグラウンド処理をバックグラウンド処理に変更 現在のシェルのフォアグラウンドで実行中のコマンド処理を、処理を終了せずにバックエンドへ移動させる方法をまとめます。 nohup [コマンド] & みたいにしてコマンドを実行することで、ログイン中のシ […]

[Linux] シェルスクリプトで.envファイルを読み込む [dotenv]

シェルスクリプトで .env .envファイルで定義した内容をシェルスクリプトから参照するために、環境変数として読み込む方法をまとめます。 . ├── .env └── my_script.sh こんな感じの構成になっていて、my_script.sh から .env ファイルを読み込んでその中で定義された変数を参照できるようにします。 .envの内容をシェル変数として読み込む実装方法 .env フ […]

[Linux] chattr で削除できないファイルを作る

ファイルを削除できないようにしたい Linux の rm コマンドでファイルを削除できないようにしたいです。 結論 chmod 0 [ファイル名] でファイルの書き込み権限を無効にしても実行時に確認メッセージが表示されるだけで、普通に削除できてしまいます。ファイル削除を禁止するには chattr +i [ファイル名] でファイル属性に変更不可属性を追加してやればよいです。 書き込み不可の権限では削 […]

[Linux] find コマンドでファイルやディレクトリを検索する

find コマンド find コマンドはファイルやディレクトリのパスを検索するためのコマンドです。基本的な使い方は以下の通りです。 $ find [検索するパス] 例えば find . とするとカレントディレクトリ以下の全ファイルとディレクトリを再帰的に走査して表示します。 . ├── FOO.LOG ├── bar │   ├── bar.txt │   └── tmp.txt ├── foo. […]

diff コマンドで差分を確認するいろいろなオプション[Linux]

diff コマンドの基本 diff – Wikipedia diff コマンドは2つのファイルを行ごとに差分を確認するための Linux コマンドです。 2つのファイルパスを指定すれば差分がある行を表示できます。 $ diff [FILE1] [FILE2] サンプルデータ サンプルデータとして a.txt と b.txt の2ファイルを用意します。 a.txt aaXa cccc d […]

シェルスクリプト改行コードでのエラー原因と対策

Windows で作成した シェルスクリプトが Linux でエラーが発生する エラーの内容 以下のようなシェルスクリプトを Windows で作成します。 a.sh #!/bin/bash echo hello world "hello world" を出力するだけのコードです。 これを Linux 環境に移して実行します。例えば WSL(Ubuntu) に移して実行してみる […]