[フレーム]
はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできます コメント表示の設定

ブックマークしました

ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

341users がブックマーク コメント 37

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか 〜 ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita

341 users qiita.com/ko1nksm

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

はてなブックマーク

はてなブックマークで
関心をシェアしよう

みんなの興味と感想が集まることで
新しい発見や、深堀りがもっと楽しく

ユーザー登録

アカウントをお持ちの方はログインページ

記事へのコメント37

  • 注目コメント
  • 新着コメント
igni3
シェルスクリプトをやめよう

その他
xlc
シェルスクリプトは特定の問題を自動化するときに使うことが多い。なのでファイル名の改行のような特殊ケースは考えなくてよいことがほとんど。それよりファイル名展開が使えないケース(ファイル過多)の方が多いよ。

その他
macj_jp
"BUG The syntax is painful." findコマンドを手が覚えない理由がここにあった

その他
delphinus35
面白かった。僕はこういうの見るたびに「Perl 使えよ」と言っちゃう Perl おじさんだが、使える人がどんどん減る中、良い代替が無くて結局業務でも bash を使わざるを得ない。なんとかならんかねえ。

その他
bluepost69
まあシェルスクリプトは改行に弱いので、lsをパイプで渡さないといけないようなスクリプトはもうその時点で他の言語で書くのが安パイだと思うけど...

その他
guitarwolf
そんなシチュエーション、20年以上shell使ってるが無い。

その他
t_motooka
これは良い解説だけども、やはりlsの手軽さの前では......

その他
nakag0711
ls -zのパッチは却下されていたとな。これは人間用、これはバッチ処理用って分けるのはUNIX的でない気がする

その他
richard_raw
"find -print0" が標準化される可能性があるのか......。

その他
IGA-OS
ユーザーの立場でしかシェルスクリプトを使わない自分には、開発者の配慮が見えて面白かった

その他
kibitaki
"grepを忘れただけなのに"の方はためになった。

その他
rryu
ファイル名にパラメータ区切りに使う文字が含まれる可能性があるがシェルスクリプトはそれを普通に扱えるようにする事を全然考えてないというのが原因で、基本的に無理ゲーである。

その他
masaru_al
『英数字以外のファイル名よりも問題なのが改行が含まれるファイル名です。結局のところ、改行が含まれるファイル名が存在する可能性があるため ls コマンドの出力を正しく解析することはできません』

その他
taguch1
最初からfind で覚えてるおじさんです。

その他
roshi
PowerShellではlsのパイプ渡し使うけど、Linuxだとfindかls -1使うかなー。

その他
chintaro3
社内の閉じた環境ならそこまで考慮する必要はなさそうに見えるが、不特定多数の人が使う(かもしれない)ならそういう訳にも行かないか。

その他
UDONCHAN
そうだね

その他
tkni2005
まとめがちゃんとまとめでありがたい。時間がない人はまとめだけ読もう

その他
arx0balest
やはりおシェル芸は滅ぼすべきだと改めて思いました

その他
a96neko
見てる

その他
d6rkaiz
ls使う時は ls -1 を使うかな?

その他
wushi
xargs と find -exec は単発の参照系コマンドにつなぐ以外は怖くて使えない。だいたい while read line に食わせてる

その他
shodai
面白い。

その他
ya--mada
あー、おじさんなのでトンデモないファイル名の存在は意識しないと注意力に引っかからないワ

その他
guitarwolf
guitarwolf そんなシチュエーション、20年以上shell使ってるが無い。

2023年01月09日 リンク

その他
tsutsumi154
いい悪い以前にそんな発想に至らない

その他
n314
ファイル名に制御文字が使われる可能性のある環境だったら、どんなシェルスクリプトでも動かしたくない...。

その他
t-tanaka
ファイル名に改行を使えていいことなんて一つもないので,ファイルシステム側で使うのを禁止してくれないかな。

その他
delphinus35
delphinus35 面白かった。僕はこういうの見るたびに「Perl 使えよ」と言っちゃう Perl おじさんだが、使える人がどんどん減る中、良い代替が無くて結局業務でも bash を使わざるを得ない。なんとかならんかねえ。

2023年01月09日 リンク

その他
natu3kan
制御文字をただの文字列で使いたいのに、命令文として生きててガチで制御できるとかは昔のゲームのバグあるある。

その他
Mu_KuP
ファイル名に潜むアスタリスクと改行その他制御文字はホントにアレ。あとブラウザからページ保存すると出来るクソ長いファイル名。(環境により保存できるかどうかが変動する)

その他
t_motooka
t_motooka これは良い解説だけども、やはりlsの手軽さの前では......

2023年01月09日 リンク

その他
tettekete37564
lsにはデリミタを0x00にするオプション無いんだっけ

その他
macj_jp
macj_jp "BUG The syntax is painful." findコマンドを手が覚えない理由がここにあった

2023年01月09日 リンク

その他
igni3
igni3 シェルスクリプトをやめよう

2023年01月09日 リンク

その他
iww
busyboxはトラブルのもと

その他
maketexlsr
勉強になった。けどBusyBoxは大事だけどAIXは捨てろ的論法は個人的に引っかかる

その他
shikiarai
まあ用途限定なのはいつものこと

その他

注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

リンクを埋め込む

以下のコードをコピーしてサイトに埋め込むことができます

プレビュー
アプリのスクリーンショット
いまの話題をアプリでチェック!
  • バナー広告なし
  • ミュート機能あり
  • ダークモード搭載
アプリをダウンロード

関連記事

usersに達しました!

さんが1番目にブックマークした記事「シェルスクリプト...」が注目されています。

気持ちをシェアしよう

ツイートする

シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか 〜 ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita

シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか 〜 ShellCheck: SC2010, SC2011, SC2012 とファ... シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか 〜 ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題ShellScriptUNIXshellシェル芸POSIX はじめに シェルスクリプトで ls コマンドの出力結果(ファイル名一覧)をパイプで他のコマンドに渡して処理するのは推奨されません。ls コマンドを使ったコードを ShellCheck で検査するとおそらく問題があると警告が表示されるでしょう。ls を使うなという指摘自体には賛成なのですが SC2010、SC2011、SC2012 に書いてある理由については正しい説明がされていないと思っています。この記事ではなぜ ls の出力結果を他のコマンドにパイプで渡すのが悪いのか、ls を使わずに実現するにはどうしたら良いのかを解説したいと思います。一つ補足をしておくと、この問題は CLI コマ

ブックマークしたユーザー

  • Itisango2025年01月14日 Itisango
  • k2u6u2024年06月06日 k2u6u
  • techtech05212024年05月31日 techtech0521
  • guitgraph2024年03月02日 guitgraph
  • sudo_vi2023年07月22日 sudo_vi
  • donotthinkfeel2023年01月30日 donotthinkfeel
  • kwy2023年01月29日 kwy
  • mhag2023年01月19日 mhag
  • moonblogger2023年01月18日 moonblogger
  • kat212023年01月16日 kat21
  • meerkat2023年01月15日 meerkat
  • stntaku2023年01月14日 stntaku
  • okumuraa12023年01月13日 okumuraa1
  • bomberkiddy2023年01月12日 bomberkiddy
  • fkshom2023年01月12日 fkshom
  • lugecy2023年01月11日 lugecy
  • nanakoso2023年01月11日 nanakoso
  • runningupthathill2023年01月10日 runningupthathill
すべてのユーザーの
詳細を表示します

ブックマークしたすべてのユーザー

同じサイトの新着

同じサイトの新着をもっと読む

いま人気の記事

いま人気の記事をもっと読む

いま人気の記事 - テクノロジー

いま人気の記事 - テクノロジーをもっと読む

新着記事 - テクノロジー

新着記事 - テクノロジーをもっと読む

同時期にブックマークされた記事

いま人気の記事 - 企業メディア

企業メディアをもっと読む

はてなブックマーク

公式Twitter

はてなのサービス

Copyright © 2005-2025 Hatena. All Rights Reserved.
設定を変更しましたx

AltStyle によって変換されたページ (->オリジナル) /