BLOGTIMES
» ArchiveList (Tag for "sh / firefox" )
«Prev || 1 · 2 · 3 · 4 · 5 ·... | | Next»
2023/02/17

xargs で複数のコマンドを実行する

sh  cli 

xargs を使って複数のコマンドを一度に実行する方法がないかと思って調べてみました。

sh -c と組み合わせて、以下のような感じで実行しているパターンが多いようです。
例えばこの例だと find で探したファイルに対して chown でオーナーを変えつつ、パーミッションも同時に変更することができます。

find . -type f | xargs -i sh -c 'chown root "{}" && chmod 600 "{}"'

参考


    at 15:58 |
    2021/08/15

    bash の変数と改行

    sh 

    シェルスクリプトで echo をするときに、変数をダブルクオートで囲った場合とそうでない場合で挙動が違うことに気付いたのでメモ。

    具体的には以下のような感じで、変数内に改行が含まている場合の改行の扱いが変わるようです。
    かれこれ 20 年くらいシェルスクリプト書いていますが、こういう決まりがあることに気付いてませんでした。

    $ hoge=`cat <<EOF > aaa > bbb > ccc > EOF > ` $ echo $hoge aaa bbb ccc $ echo "$hoge" aaa bbb ccc $ echo $hoge | wc -l 1 $ echo "$hoge" | wc -l 3

      at 18:41 |
      2021/05/22

      git リポジトリのリモート URL を一撃で書き換える ( Linux 編 )

      git  sh 

      git のサービス等を乗り換えたりする場合には、ローカルリポジトリのリモート URL を書き換える必要が出てきます。

      1つずつやっても良いのですが、いろいろと面倒なので、現在の URL の一部を置換することリモート URL を書き換えるワンライナーを書いてみました。通常、サービスの乗り換えの場合にはリポジトリ名は URL の一部のみが変わるだけだと思うので、これで十分機能するはずです。

      ここではリモートの URL が https://example.com/foo/bar.githttps://example.jp/foo/bar.git に変更されると仮定すると、以下のような感じでリモート URL の変更が可能です。

      git remote set-url origin $(git remote get-url origin | sed "s|example\.com|example\.jp|")

      ちなみに、Windows の場合は PowerShel を使って同様の操作ができます。


        at 22:28 |
        2021/05/13

        SH-60L の試作機の飛行試験を開始

        SH-60L 

        海自の SH-60K の能力向上型試作機(完成すれば SH-60L)の飛行試験が始まったようです。

        見た目は SH-60J と SH-60K のようなわかりやすい見た目の変化もないようですが、どこかで見にいきたいところです。


          at 22:55 |
          2020/04/13

          PowerShell を CentOS にインストール

          powershell  sh  centos7 

          PowerShell は Linux も公式にサポートしているので、Windows で動かしているバッチを Linux に移植することにしました。
          というわけで、とりあえず CentOS に PowerShell をインストール。

          GitHub からバイナリをダウンロードする手もありますが、今後のアップデート等を考えると yum のリポジトリで入れておく方が管理が楽です。
          CentOS 8 については公式のドキュメントに記載されていませんが、.repo ファイルはちゃんと用意されていてインストールできるようになっています。

          # CentOS 7 curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo sudo yum install -y powershell # CentOS 8 curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo sudo dnf install -y powershell

          参考


            at 09:49 |
            2020/02/26

            Firefox が米国で DoH(DNS over HTTPS) を有効に

            firefox  dns  cloudflare 
            Firefox DNS over HTTPS - Firefox が米国で DoH(DNS over HTTPS) を有効に

            Firefox が米国で DoH(DNS over HTTPS) を有効にしたことがニュースになっていたのでメモ。

            HTTP については 2016 年に始まった Let's Encrypt のおかげで急速に HTTPS 化が進みましたが、DNS の暗号化については DNS over TLS と DNS over HTTPS のどちらが良いか*1という解決が難しい問題もあり、すんなりとは行きそうにありません。

            今回の Firefox の場合、クエリは初期設定の場合 Cloudflare に飛んでいくことになるので、Cloudflare にはユーザーがどのサイトに接続しようとしているのかが丸見えであることに注意が必要です。

            Mozilla、「Firefox」の“DNS over HTTPS”をデフォルト有効化 ~米国で実施 - 窓の杜

            「Firefox」の“DoH”機能は、米国でのみ既定で有効。米国外のユーザーも、オプション画面(about:preferences)の[一般]セクション最下部にあるネットワーク設定へアクセスし、[DNS over HTTPS を有効にする]というオプションを有効化すれば利用できる。初期設定のプロバイダーは“Cloudflare”になっているが、“NextDNS”などを指定することも可能だ。


            at 22:54 |
            2019/12/06

            dehydrated で JWS has no anti-replay nonce エラー

            letsencrypt  sh 

            Let's Encrypt の証明書を自動更新するために導入した dehydrated ですが、更新に失敗していることに気づいていなくて証明書が失効寸前になっていて冷や汗をかきました。
            実際に出ていたのは以下のような "JWS has no anti-replay nonce" というエラーです。

            # INFO: Using main config file /opt/dehydrated/config Processing host.example.jp + Checking domain name(s) of existing cert... unchanged. + Checking expire date of existing cert... + Valid till Dec 8 23:27:48 2019 GMT (Less than 15 days). Renewing! + Signing domains... + Generating private key... + Generating signing request... + Requesting challenge for host.example.jp... + ERROR: An error occurred while sending post-request to https://acme-v01.api.letsencrypt.org/acme/new-authz (Status 400) Details: { "type": "urn:acme:error:badNonce", "detail": "JWS has no anti-replay nonce", "status": 400 }

            これについては以下で直っていることが確認できたので、git pull して最新版を引っ張ってくるだけで大丈夫でした。


              at 13:55 |
              2019/11/03

              外来機の帰投(入間基地航空祭 2019)

              jsdf  saitama  入間基地  航空祭  F-15  F-2  C-2  AH-1  UH-60  SH-60 
              F-2B(33-8117)タキシング「自衛官募集」 - 外来機の帰投(入間基地航空祭 2019)F-2B(33-8117)アフターバーナを使って帰投 - 外来機の帰投(入間基地航空祭 2019)
              F-15(42-8844)離陸 - 外来機の帰投(入間基地航空祭 2019)F-15(42-8844)アフターバーナを使って帰投 - 外来機の帰投(入間基地航空祭 2019)
              C-2(68-1204) - 外来機の帰投(入間基地航空祭 2019)AH-1S(73482) - 外来機の帰投(入間基地航空祭 2019)
              UH-60J(08-4590) - 外来機の帰投(入間基地航空祭 2019)SH-60K(22-8412) - 外来機の帰投(入間基地航空祭 2019)

              今日は曇りで暗かったので、帰投の時の戦闘機のアフターバーナーがクッキリと見えました。

              昨年は「#ブルーより蒼い方」というのを掲げていて大盛り上がりだった松島の F-2B は今年は普通に自衛官募集だけを掲げていました。


                at 15:04 |
                2019/10/31

                ターミナルのカラー出力を色つきのままファイル保存する

                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.


                  at 22:28 |
                  2019/10/20

                  Mailvelope でウェブメールでも PGP

                  firefox  chrome  pgp 
                  Mailvelope - Mailvelope でウェブメールでも PGP

                  Mailvelope というブラウザ上で PGP 暗号化/復号化ができるアドオンを見つけたのでメモ。
                  中身は OpenPGP.jsを使って作られているようです。

                  GnuPG から鍵を Export して使ってみたところ、Outlook Web 上暗号化されたメッセージが復号できました。
                  ただ、送信時は PGP Inline 形式になるので、日本語を含んだメッセージを署名だけしようとすると検証できなくなるという問題があります

                  Mailvelope

                  The browser extension Mailvelope provides end-to-end encryption for your existing email address. Encrypt your mails without having to change your email provider! Encryption and decryption takes place exclusively on the end devices. This means that your private data will never leave your device unencrypted.

                  Firefox や Chrome のプラグインは以下から導入が可能です。


                    at 23:17 |
                    «Prev || 1 · 2 · 3 · 4 · 5 ·... | | Next»
                    » ArchiveList (Tag for "sh / firefox" )