プログラミング– category –
Python・Bash・シェルスクリプトでハマりがちな挙動を解説します。文字化け、終了コードの基礎、パイプの失敗検知など、原因と直し方を実行結果付きでまとめています。
-
プログラミング
bashのwhile readでループ後に変数が消える・最終行が読まれない原因と対処|パイプのサブシェル・IFS= read -r・< <(…)・lastpipe
こんにちは、おうどんです🍜 うどん屋の閉店後。今日の注文票を、bash で数えます。 count=0 printf 'kitsune\nzaru\nkake\n' | while read -r menu; do count=$((count + 1)) echo "in loop: $menu count=$count" done echo "after loop: count=$c... -
プログラミング
PythonのTypeError: can’t compare offset-naive and offset-aware datetimesの原因と対処|utcnow()の非推奨・astimezone・zoneinfoとtzdata
こんにちは、おうどんです🍜 朝9時。うどん屋さんの電話が鳴る。 支店「9時に出前お願いします!」 店長(おうどん)「了解、9時ね」 支店「はい、9時です!」 店長「……どこの9時?」 (場面は説明用の架空のものです) 支店は海外にありました。向... -
プログラミング
【おうどんの基礎講座】終了コードってなに? 0が成功の理由と$?・%ERRORLEVEL%・$LASTEXITCODEの確認方法
こんにちは、おうどんです🍜 夜間バッチが朝に止まっていた。ログを見る。 エラーは、出ていない。 先輩「終了コードは見た?」 おうどん「……しゅうりょうこーど?」 先輩「プログラムが最後に返す数字。0 なら成功」 おうどん「0点なのに成功なん... -
プログラミング
PythonでUnicodeDecodeError: ‘cp932’が出る原因と対処|Windowsのopen()・UTF-8モード・Python 3.15の変更点
こんにちは、おうどんです🍜 Mac で書いた Python スクリプトを、Windows のサーバーに置く。設定ファイルを読むだけの、かわいい処理です。手元では一発で動いた。 実行する。 UnicodeDecodeError: 'cp932' codec can't decode byte 0x86 in posit... -
プログラミング
Bashで処理が失敗したのに成功扱い? pipefail・PIPESTATUSで終了コードを確かめる
こんにちは、おうどんです🍜 処理のログにはエラー。でも、終了コードは0。 ……待って。成功したのは誰? 今回はBashのパイプ処理です。処理 | tee ログのように、画面表示とログ保存を両立させたつもりが、処理本体の失敗を見逃すことがあるんです...
12