bash
RVMをインストールする機会があり、手順を確認してインストールした。 \curl -sSL https://get.rvm.io | bash -s stable このときcurlの先頭に\がついているのが気になり、付けない場合と何が違うのか調べた。 \つける理由は、shellのエイリアスの影響を受け…
以前、bashのヒアドキュメントを使ったスクリプトの作成で、catを使ったスクリプトの作成方法を紹介した。 [vagrant@localhost ~]$ cat <<'EOT' > test.sh > #!/bin/bash > set -eu > > echo 'test' > > EOT [vagrant@localhost ~]$ ls -l test.sh -rw-rw-r-…
仕事で行った作業を社内のwikiなどにまとめるとき、その作業で実行したコマンドを含めてまとめている。 最近ではスクリプトの作成手順を示す際に、catコマンドを使って $ cat <<EOT > foo.sh #!/bin/bash set -eu ... EOT このように表記している。 これはbashのヒ</eot>…
このエントリーの最後でリンクしている各ページの内容を元に、コマンドオプションを解析するサンプルスクリプトを書いた。主に自分用のツールを自作するときに参考にするために書いた。 以下が実行した結果。今のところ、これだけ対応できれば十分。 $ ./get…
bashスクリプトで、対象が期待したパーミッションであるか確認するときに使った方法。 $ stat -c %a /path/to/target -cオプションは出力内容フォーマット指定で、%aは、パーミッションを8進数で表現する。 スクリプトでは、 perm=`stat -c %a /path/to/targ…
「シェバング」というみたい。 参考 UNIXの部屋 コマンド検索:シェバング (*BSD/Linux)
#!/bin/bash script_path=$(cd $(dirname $0); pwd) echo $script_path
# bashrcなどに書く $ stty stop undef via Ctrl-Sの端末ロックを無効にする | Mazn.net
シェルのパラメータ展開を利用して、basename、ファイル名(拡張子なし)、拡張子を取得する方法。 #!/bin/bash path="/path/to/foo.tar.gz" echo "path: $path" basename=${path##*/} echo "basename: $basename" filename=${basename%.*} echo "filename: …