タグ

エラーとコマンドに関するiwwのブックマーク (7)

  • Github Actionsでyesコマンドを使いたい時は代わりにecho yするといい - The Third Law

    こんばんは、id:maku693です。 タイトルでほぼ全部説明しましたが、Github Actionsでちょっとハマりました。 Github Actionsのワークフローでは工夫しないとyesコマンドを使えないので、代わりにecho yを使うと手っ取り早いです。 これに気づいたのは、[y/N]どちらかの入力を待つことで処理を続行していいか聞いてくるプログラムをワークフロー中で使いたかったので、yesコマンドを使ってyを入力させようとしたところ、yes: standard output: Broken pipeというエラーが出て正常にワークフローが終了しなかったためです。 手元 (macOS) で実行してもエラーにならないので不思議に思って調べてみると、bashにpipefailオプションが指定されている*1のと、yesコマンドがSIGPIPEを受け取って終了する前提で使われているのが原因で

    Github Actionsでyesコマンドを使いたい時は代わりにecho yするといい - The Third Law
    iww
    iww 2021/01/09
    『yesコマンドを使ってyを入力させようとしたところ、yes: standard output: Broken pipeというエラーが出て正常にワークフローが終了しなかった』 そうなのか。 面白い
  • bashの初見殺しっぷりがハンパない件 - Qiita

    「これ知らなきゃ分からないだろ!」 「エラーの原因はわかったけど、なんか腑に落ちない」 いま悩んだ2時間返せ! bashというか、UNIXのコマンドに慣れてない 僕みたいな新人エンジニアが 気をつけた方がいいポイントまとめました。 あいことばをわすれない 微妙にエラーが出ないため、気づかないまま進んでしまい、 のちのち絶妙に致命的なことになってしまうので注意。 一行目忘れて2時間悩みました 二行目のオプションつけなかったため2時間悩みました setのオプションはお好みで あいことばの解説: http://qiita.com/magicant/items/f3554274ee500bddaca8 半角スペースをつけるな!半角スペースをつけろ! shellさんはスペースに非常に神経質です。 よくある変数代入では=の前後にスペースいれてはダメです。

    bashの初見殺しっぷりがハンパない件 - Qiita
    iww
    iww 2018/08/23
    シンタックスシュガーがほとんどないので、原理原則を押さえずに検索で出てきた結果をつまみ食いしていると痛い目を見る。 という話
  • 標準エラー出力の出力先をファイルへ変更する

    コマンドを実行した時にエラーが発生した場合、標準出力ではなく標準エラー出力に対して出力が行われます。デフォルトでは標準出力と同じく標準エラー出力の出力先も画面に設定されていますが、リダイレクトを使って標準エラー出力の出力先をファイルへ変更することができます。ここではコマンドプロンプトの環境で標準エラー出力の出力先をファイルへ変更する解説します。 エラー内容をファイルへ出力する コマンドプロンプトではコマンドの実行結果を標準出力へ出力しますが、エラーが発生した場合の出力は標準エラー出力へ出力されます。そのため、標準出力をリダイレクトでファイルへ出力するように設定していても、エラーが発生した場合は標準エラー出力へ出力されます。標準エラー出力はデフォルトで画面に設定されているのでエラーが発生した場合は画面に表示されます。 リダイレクトを使って標準エラーの出力先をファイルへ変更する書式は次の通りで

    標準エラー出力の出力先をファイルへ変更する
  • @IT:passwdコマンドを実行するとエラーになる

    現在のLinuxでは、パスワードは暗号化されて専用のファイル(/etc/shadow)に保存される。このファイルが書き換えられて/etc/passwdファイルと整合性が取れなくなってしまうと、passwdコマンドでパスワードを変更しようとしてもエラーになってしまう。そのようなときは、pwconvコマンドで両者の整合性を取れば、passwdコマンドが使えるようになる。 # passwd sato ←satoのパスワードを変更 Changing password for user sato. passwd: Authentication token manipulation error ←エラーが出る # pwconv ←パスワードファイルの整合性を取る # passwd sato ←satoのパスワードを変更 Changing password for user sato. New pass

    iww
    iww 2014/03/06
    『/etc/shadow)に保存される。このファイルが書き換えられて/etc/passwdファイルと整合性が取れなくなってしまうと、passwdコマンドでパスワードを変更しようとしてもエラーになってしまう。』 これヤバい状態と違うんか
  • ローカルポートを食いつぶしていた話 - download_takeshi’s diary

    ここのところ、お仕事で管理しているシステムで、夜中に負荷が急上昇する事象が発生しており、夜な夜な対応に追われていました。 (このブログ書いている今も、負荷がじわじわ上昇中なんですが・・・) で、いろいろと調査した結果、ようやく糸口がわかってきました。 結論から言うと、ローカルポートなどのネットワーク資源をいつぶしていたようです。 以下、調べていってわかったことなどのメモです。 トラブルの事象 運用しているのは Apache2.2 + mod_perl2 なwebサーバで、リスティング広告システムの配信系です。 リスティング広告の配信のシステムって一般的にロジックが複雑でいやーな感じなんですが、このシステムもご他聞に漏れずかなりのひねくれ者で、しかもトラヒックは結構多めです。システム全体で、日に1000万〜2000万クエリくらいかな。幸か不幸か、このご時勢においてもトラヒック的には成長し続

    ローカルポートを食いつぶしていた話 - download_takeshi’s diary
    iww
    iww 2013/01/26
    perrorコマンドなんて便利なものがあったのか! 印刷したerrno.hをいつも見てたよ・・・
  • http://yaplog.jp/coconai/archive/56

    http://yaplog.jp/coconai/archive/56
    iww
    iww 2012/05/15
    200以外のステータスはどうやってとろうかな
  • ARG_MAXとshell組み込みコマンド(bash) - 半径5メートル

    twitterのfriend timelineのログをファイルベースでログとってたら*1、気がつくとarchiveのディレクトリに5万件超のファイルが蓄積されていました。 これだけの件数のファイル群はrmコマンドで一気に消そうとしても、消せません。 -bash-3.00$ rm * -bash: /bin/rm: 引数リストが長すぎますこの引数リストの長さの上限はARG_MAXというマクロ定数で定義されているようです。 -bash-3.00$ getconf ARG_MAX 131072ARG_MAXの制限により、コマンドに渡す引数が(うちの環境では)131072byteを超えてしまうと上記のエラーになってしまいます。この場合は一つのファイルが「786587805」のような名前で保存されている為、5万件超のファイルを指定する「*」のファイルグロブが展開されたファイルリストの文字列が余裕で1

    ARG_MAXとshell組み込みコマンド(bash) - 半径5メートル
  • 1