ブックマーク / blog.3qe.us (2)

  • Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル

    以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(another-command)のように、$()でコマンドを括る記法だ。これを利用すると、括弧で括られたコマンドが実行され、その標準出力が文字列として取り出され、$()全体を置き換える。シェルスクリプトでは非常によく見る技術だ。 この$()でファイルの内容を読み出すというのを最近見た。このような用法は非常によく見る。 foo-command $(cat params.txt) しかし、より良い書き方があるのでこれを提唱したい。$(< params.txt)と書くことで全く同等のことができる。しかも速いのでこちらのほうが完全に上位互換となる。 foo-command $(< params.txt) この方法はBashのドキュメントのコマンド置換のコーナーにちゃんと書か

    Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル
    dh16t
    dh16t 2024/06/08
    コマンド置換とかシェル変数展開とか憶えられなくて一生ぐぐってる
  • manがあるコマンドは偉いし、manを付けるべき - Lambdaカクテル

    社内で、crontabのtabは実はtableだからクーロンタブじゃなくてクーロンテーブルなんだよね、という話が盛り上がった。 ファクトチェックとして、crontab(5)が紹介されていた(cron tableという言葉が出現している)。 manで事実確認がすぐできてすごいと思う一方、それを可能たらしめているmanもありがたいと思った。 man(1) とかの数字って何? 意外なものにmanがある 最近のコマンドにman pageが無い件 manまわりのコマンドの紹介 man(1) とかの数字って何? ちなみに、manのマニュアルやコマンド自体をアドレスするときに使うman(1)といった記法のカッコ内の数字は、manのセクション番号である。 コマンドと設定ファイルが同名であることがしばしばあるため、カッコ内にセクション番号を書くことで識別できるようにしている(例えば、crontab(1)はそ

    manがあるコマンドは偉いし、manを付けるべき - Lambdaカクテル
    dh16t
    dh16t 2022/10/13
    このmanがすごい!2022の開催が待たれる
  • 1