シェル

SSH コマンドで複数行のシェルスクリプトを実行するためにヒアドキュメントを使う

小技。 #!/bin/bash ssh <user>@<hostname> 'bash -s' << EOS # ここにシェルスクリプトを書く echo hello echo world EOS CLI からも実行できる。 $ ssh <user>@<hostname> 'bash -s' << EOS > echo hello > echo world > EOS</hostname></user></hostname></user>

.envファイルから環境変数をセットする alias

これだけのことなんだけど。 https://stackoverflow.com/questions/43267413/shell-how-to-set-environment-variables-from-env-file .env ファイルに書かれたすべての変数を環境変数として export するには、簡単にやるには以下のコマンドでいい。(ただし…

history で表示されるコマンドを番号指定して実行するには !n

history コマンドでコマンドの履歴を確認することができる。 $ history 1 echo foo 2 echo bar 3 history 一覧表示された履歴の中で、過去のコマンドを番号指定して実行することができる。!n を実行すると、番号 n のコマンドが実行される。 $ !1 echo foo f…

カレントディレクトリを取得するコマンドはbasename $PWD

$ pwd /usr/hoge/fuga であるとき文字列 fuga を取得したければ basename コマンドを使う。 $ basename `pwd` fuga pwd コマンドは変数 $PWD で代用できるので $ basename $PWD fuga でもよい。これなら別のコマンドの引数として使いたい時にも $ some_comma…

シェルスクリプトの変数の代入・参照、値が空のときの処理

参考 : プロフェショナル・シェルプログラミング (アスキー書籍) シェルスクリプトの変数の代入と参照 # 変数の代入は前後にスペースを入れない name=Jonh # 変数の参照は"$"をつける echo $name # => John # これでもOK echo ${name} # => John # 文字列の…