- blogs:
- cles::blog
xargs で複数のコマンドを実行する
sh
cli xargs を使って複数のコマンドを一度に実行する方法がないかと思って調べてみました。
sh -c と組み合わせて、以下のような感じで実行しているパターンが多いようです。
例えばこの例だと find で探したファイルに対して chown でオーナーを変えつつ、パーミッションも同時に変更することができます。
† 参考
bash の変数と改行
sh シェルスクリプトで echo をするときに、変数をダブルクオートで囲った場合とそうでない場合で挙動が違うことに気付いたのでメモ。
具体的には以下のような感じで、変数内に改行が含まている場合の改行の扱いが変わるようです。
かれこれ 20 年くらいシェルスクリプト書いていますが、こういう決まりがあることに気付いてませんでした。
git リポジトリのリモート URL を一撃で書き換える ( Linux 編 )
git
sh git のサービス等を乗り換えたりする場合には、ローカルリポジトリのリモート URL を書き換える必要が出てきます。
1つずつやっても良いのですが、いろいろと面倒なので、現在の URL の一部を置換することリモート URL を書き換えるワンライナーを書いてみました。通常、サービスの乗り換えの場合にはリポジトリ名は URL の一部のみが変わるだけだと思うので、これで十分機能するはずです。
ここではリモートの URL が https://example.com/foo/bar.git → https://example.jp/foo/bar.git に変更されると仮定すると、以下のような感じでリモート URL の変更が可能です。
ちなみに、Windows の場合は PowerShel を使って同様の操作ができます。
SH-60L の試作機の飛行試験を開始
SH-60L #三菱重工ニュース📰#三菱重工 は本日、回転翼哨戒機(能力向上型)の試作機の飛行試験を開始しました。
— 三菱重工業株式会社【公式】 (@MHI_GroupJP) May 12, 2021
本日の試験では、当社のテストパイロットが試作機を操縦し、#県営名古屋空港 において約30分間のホバリングを行った後、無事同空港へ着陸しました👇https://t.co/sS6ebkD7qq pic.twitter.com/JUQoGA8Dkd
海自の SH-60K の能力向上型試作機(完成すれば SH-60L)の飛行試験が始まったようです。
見た目は SH-60J と SH-60K のようなわかりやすい見た目の変化もないようですが、どこかで見にいきたいところです。
Ruby 3.0.0 がリリースされてた
ruby しばらくウォッチしていないうちに Ruby 3.0.0 がリリースされていました。
Ruby 2.7 からの変更がいろいろとある*1ので、時間をとって確認する必要がありそうです。
Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。
PowerShell を CentOS にインストール
powershell
sh
centos7 PowerShell は Linux も公式にサポートしているので、Windows で動かしているバッチを Linux に移植することにしました。
というわけで、とりあえず CentOS に PowerShell をインストール。
GitHub からバイナリをダウンロードする手もありますが、今後のアップデート等を考えると yum のリポジトリで入れておく方が管理が楽です。
CentOS 8 については公式のドキュメントに記載されていませんが、.repo ファイルはちゃんと用意されていてインストールできるようになっています。
† 参考
dehydrated で JWS has no anti-replay nonce エラー
letsencrypt
sh Let's Encrypt の証明書を自動更新するために導入した dehydrated ですが、更新に失敗していることに気づいていなくて証明書が失効寸前になっていて冷や汗をかきました。
実際に出ていたのは以下のような "JWS has no anti-replay nonce" というエラーです。
これについては以下で直っていることが確認できたので、git pull して最新版を引っ張ってくるだけで大丈夫でした。
mysql2 をスレッドセーフに
ruby gem mysql2 をマルチスレッドで使っていたら、以下のようなエラーがでて困ってしまいました。
どうやら mysql2 はスレッドセーフではないことが原因の模様。
いろいろと調べてみたら、MutexLockedQuerying*1というモジュールを書いている人を見つけたので、ちょっと改造して取り込んでみました。元の実装だとクラス変数を使っているのでロックがインスタンス単位ではなく、グローバルにかかってしまうので、インスタンス変数に変更してあります。ロックの粒度的にはこちらの方が望ましいはずです。
外来機の帰投(入間基地航空祭 2019)
jsdf
saitama
入間基地
航空祭
F-15
F-2
C-2
AH-1
UH-60
SH-60 今日は曇りで暗かったので、帰投の時の戦闘機のアフターバーナーがクッキリと見えました。
昨年は「#ブルーより蒼い方」というのを掲げていて大盛り上がりだった松島の F-2B は今年は普通に自衛官募集だけを掲げていました。
ターミナルのカラー出力を色つきのままファイル保存する
sh Linux などのターミナルでは ANSI のエスケープコードを使えば文字に色をつけることが可能ですが、これをなんとかして色つきのまま保存する方法がないか調べてみました。
その結果、以下の ansi2html.sh を使うと HTML として保存できることが分かりました。
例えば、画像の出力を ansi2html.sh に通して HTML 保存するとこのような感じで保存することができます。
Match #1:
Binding for "root":
FunctionDecl 0x7fffd94a0d78 </home/hsur/example.c:3:1, line:6:1> line:3:5 main 'int (void)'
`-CompoundStmt 0x7fffd94a0f88 <col:15, line:6:1>
|-CallExpr 0x7fffd94a0ef0 <line:4:2, col:22> 'int'
| |-ImplicitCastExpr 0x7fffd94a0ed8 <col:2> 'int (*)(const char *, ...)' <FunctionToPointerDecay>
| | `-DeclRefExpr 0x7fffd94a0e18 <col:2> 'int (const char *, ...)' Function 0x7fffd948fe08 'printf' 'int (const char *, ...)'
| `-ImplicitCastExpr 0x7fffd94a0f38 <col:9> 'const char *' <BitCast>
| `-ImplicitCastExpr 0x7fffd94a0f20 <col:9> 'char *' <ArrayToPointerDecay>
| `-StringLiteral 0x7fffd94a0e78 <col:9> 'char [12]' lvalue "Hello World"
`-ReturnStmt 0x7fffd94a0f70 <line:5:2, col:9>
`-IntegerLiteral 0x7fffd94a0f50 <col:9> 'int' 0
1 match.
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5067)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4204)
4 . 年次の人間ドックへ(4136)
5 . 2023 年分の確定申告完了!(1つめ)(3994)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]
