エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント34件
- 注目コメント
- 新着コメント
koichi_nakashima
これはBashでしか動かない機能ではなく、Bash誕生以前のksh88(ksh86?)で最初に実装され、bash, ksh, mksh, OpenBSD sh, zshで動作する。動作しないのはash系とyashだけなので、むしろ動かないほうが少数派(元記事にコメントできない)
Ho-oTo
とりあえずcatで中身見つつシェルで試行錯誤してできたものをコピーしてスクリプト化してると最初のcat残りがちな気がする…/補足にここまでちゃんと書かないといけないのクソリプまみれの世界の息苦しさ感じるな
オーナーコメントを固定しています
オーナー
Windymelt
id:koichi_nakashima 大抵のシェルで動くんですね、やった〜! Bashのドキュメントをソースに書いたので他で動くかは確認してませんでした。ともあれ動くようで良かったです
richmikan
"$(cat 〜)"より"$(< 〜)"の方がいいんだぜーというのは、間違っちゃいないが、中途半端な議論。そもそも、foo-commandに引数経由で情報を与えるコストも大きいので、それについてもちゃんと議論の対象にしてもらいたい。
door-s-dev
知らなかったけどこうゆうのはどっちでもいい派。コマンド置換という呼び名からはコマンドの結果が入るようにイメージしてしまうのでパッと思いつくのはcatのほう。標準出力だから同じなんだろうけど
koichi_nakashima
これはBashでしか動かない機能ではなく、Bash誕生以前のksh88(ksh86?)で最初に実装され、bash, ksh, mksh, OpenBSD sh, zshで動作する。動作しないのはash系とyashだけなので、むしろ動かないほうが少数派(元記事にコメントできない)
Ho-oTo
とりあえずcatで中身見つつシェルで試行錯誤してできたものをコピーしてスクリプト化してると最初のcat残りがちな気がする…/補足にここまでちゃんと書かないといけないのクソリプまみれの世界の息苦しさ感じるな
yarumato
“この方法はBashのドキュメントのコマンド置換のコーナーに書かれていて、「ファイルを読み出したいだけならcatじゃなくてこっち使ったほうが速いよ」とある。” むしろcatで出来たのか。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
いまの話題をアプリでチェック!
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル
以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(anot...
以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(another-command)のように、$()でコマンドを括る記法だ。これを利用すると、括弧で括られたコマンドが実行され、その標準出力が文字列として取り出され、$()全体を置き換える。シェルスクリプトでは非常によく見る技術だ。 この$()でファイルの内容を読み出すというのを最近見た。このような用法は非常によく見る。 foo-command $(cat params.txt) しかし、より良い書き方があるのでこれを提唱したい。$(< params.txt)と書くことで全く同等のことができる。しかも速いのでこちらのほうが完全に上位互換となる。 foo-command $(< params.txt) この方法はBashのドキュメントのコマンド置換のコーナーにちゃんと書か
2024/06/08 リンク