2022年7月17日の日記を表示中

2022年 7月17日 (日)

車屋さんに行って、先日擦ったところの修理見積もりをもらってきました。ううう、覚悟はしていたけど、それなりにかかりますなぁ・・・。

シェルスクリプト

下記のようなシェルスクリプト、明示的にbashで動かすと期待通り普通に 0x41 0x42 がtest.binファイルに書き出されるのに、/bin/sh で動かすようにすると "\x41\x42"という文字列がそのままファイルに書き出されてしまう問題に遭遇。

#!/bin/sh
HEX='\x41\x42'
printf $HEX > test.bin

かなり悩んだんですが、原因はUbuntuの/bin/shの実体が、bashじゃなくてdashだからのようです。dashはprintfコマンドを内部で処理できるようですが、これが \xhh 形式の表現に非対応ということっぽい。ていうか、dashって何なんすかね。初めて知りましたよ・・・。なんかもう、Linux前提のスクリプトだし、printfは /usr/bin/printf みたいにフルパスで指定するか、あるいは1行目を #!/bin/bash とした方が安心かもなぁ・・・。

2022年7月17日の日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2022年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ