Bun でクロスプラットフォームなシェルスクリプト 2024.01.20 Bun の `$` を使うと、クロスプラットフォームなシェルスクリプト(Bun Shell)を書くことができます。Bun Shell は macOS (zsh)、Linux (bash)、および Windows (cmd) と OS の違いを気にせずにシェルスクリプトを書ける、JavaScript オブジェクトとのやりとりが可能であることが特徴です。
Jack Wallen (Special to ZDNET.com) 翻訳校正: 編集部 2023-11-24 07:45 「Linux」は市場で最も柔軟なOSだ。多くのLinuxディストリビューションは、無限にカスタマイズできる。デスクトップのルックアンドフィールを微調整したり、デスクトップ自体を変更したりして、非常に個性的かつユニークな体験を作り出すことが可能だ。 カスタマイズできることがあまり知られていないこともある。bashプロンプトだ。よく知らない人のために説明しておくと、bashプロンプトは、コマンドの実行に使用されるプロンプトである。ターミナルウィンドウを開くと、以下のようなプロンプトが表示されるはずだ。 jack@HIVE:~$ これが筆者の「Ubuntu Budgie」デスクトップのデフォルトのプロンプトだ。基本的に、このプロンプトは以下の情報で構成されている。 jack
理由 びっくりした。対話シェルで実行してパフォーマンス測定すると何故かめちゃくちゃ時間がかかる。これではデータにならない。 追記 よくよく考えたらパフォーマンス測定だけの問題ではなく実際に遅くなるのだから、対話シェルから「このようなコード」を実行してはいけないということを意味しています。「このようなコード」がどのようなコードなのか発生条件はまだ特定できていませんが、少なくともシェルスクリプトにしていれば問題は発生しません。また bash 以外のシェルでも問題は発生しません。 検証結果が気になった方は、ぜひ試してみて、この話を広めてください。 証拠 実行環境: Ubuntu 22.04.3 LTS、bash 5.1.16
npm/yarn/pnpm/bunを同じコマンドで扱えるni.zshに、npmで配布されているマルウェアを間違ってインストールするのを防ぐ機能を追加しました。 ni.zshについては、次の記事を参照してください。 npm/yarn/pnpm/bunを同じコマンドで扱える ni のzsh実装を書いた | Web Scratch npmパッケージのマルウェア npmパッケージとしてマルウェアをpublishして開発者を狙うサプライチェーン攻撃が最近多くなっています。 たとえば、次の記事ではemails-helperというもっともらしいパッケージ名でマルウェアが配布されていました。 NPM Package Masquerading as Email Validator Contains C2 and Sophisticated Data Exfiltration 他にもtyposquatting
#古いphpとmriadbを削除、その後にアップデート sudo amazon-linux-extras install epel sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum remove php* sudo yum remove mariadb-libs sudo rm -rf /var/lib/mysql sudo yum install php81 sudo yum install php81-php-mbstring php81-php-pdo php81-php-gd php81-php-mysqlnd php81-php-xml #phpをExtraでインストール sudo amazon-linux-extras install epel sudo yum in
M2 Mac Vscode zsh で現在のディレクトリ、ブランチをわかりやすく表示したい。 ↓こんな感じにしたい zsh ~/.zshrc の設定 autoload -Uz compinit && compinit # Gitの補完を有効化 function left-prompt { name_t='179m%}' # user name text clolr name_b='000m%}' # user name background color path_t='255m%}' # path text clolr path_b='031m%}' # path background color arrow='087m%}' # arrow color text_color='%{\e[38;5;' # set text color back_color='%{\e[30;48;5;'
マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 作者:Mokhtar Ebrahim,Andrew MallettオライリージャパンAmazon 令和最新版のシェルスクリプトの入門書とリファレンスがセットになった1冊。手元に置いておくと安心感ありますよね。 令和最新版なので、冒頭からデバッグしたいならVisual Studio Code がオススメ、と出てきます。 コンテナ使おうと思ったらシェルスクリプトの読み書きの出番がどんどん増えていって、コンテナに一番必要なスキルはシェルスクリプトのスキルでは?と思っている今日この頃です(違います)が、そのくらいの用途に必要な要素は全部盛り込んであり、シェルスクリプトの文法と実践的な使い方に加えて、一緒に利用されることの多いgrep、awk、sedといったコマンドの解説も併せて載
ファイルに含まれるAPIトークンやパスワードなどの機密情報を見つけるSecretlint v6をリリースしました。 Release v6.0.1 · secretlint/secretlint Secretlintは secretlint "**/*"のようにglobやファイルを指定して実行すると、ファイルに含まれる機密情報を見つけて標準出力に表示します。 一方で、SecretlintはESLintやtextlintなどと違って、--fixといった自動修正はできません。 なぜなら、APIトークンなどを見つけて消しても、ただ単に壊れるだけだからです。 そのため、見つけた機密情報は報告して、ユーザーがそれを手動で修正する必要があります。 たとえば、ソースコードにハードコードするのではなく、環境変数などで受け取るように変更するといった修正をします。 secretlint/credentials-
BusyBox for Windows BusyBox for Windows (BusyBox-w32) は Busybox の Windows 移植版です。トップページを見ると、どうやら 2021 年の 10 月頃に BusyBox-w32 から BusyBox for Windows に名前が変わっているような気がします。確かにもう 32 ビットの時代ではないですからね……。でも GitHub は busybox-w32 のようですが。ちなみに 64ビット版バイナリもあります。 これの何がすごいのか? インストールは実行ファイル一つをコピーするだけ。環境を汚しません。 ash 系のシェルを改良していくつかの bash の機能が追加されたシェルが含まれています。 シェルスクリプトでよく使うコマンド(sed や awk 等)の多くが含まれています。 最新のプレリリース版(busybox-
特定の処理をたった1行のプログラムに詰め込んだいわゆる「ワンライナー(one liner)」には、限られた環境の中で作業効率を上げようとしてきたエンジニアたちのノウハウが詰まっており、なかには非常に高度な処理を実行できるワンライナー”も少なくない。 今回紹介する「Bash-Oneliner」は、Linux/UNIXでもっとも標準的なシェルであるBashを使いこなすための数多くのワンライナーを集めたコレクションで、基本的なターミナル活用から変数、数値計算、grep/sed/awk、さらには作者の専門であるバイオインフォマティクスで必要となるデータ解析や、Linuxシステム管理で使えるワンライナー(まれに1行ではないものもある)が揃っている。 GitHub -onceupon/Bash-Oneliner :A collection of handy Bash One-Liners and
最近、リモートワークということもあり、ペアプロというかAWS、GCPなどの操作をする際に一緒に画面を見ながら作業する機会が多いです。若手の同僚がターミナルソフトを起動してコマンドを実行するのですが、傍から見ているとエイリアスなりキーバインドなりを使えば効率的に操作できるのにと思うことがあります。 最近はGUIで操作することが多いのでターミナルソフトでコマンド操作することがあまりないのかもしれませんが、私は少し前までは(クラウドしかできない)ITインフラエンジニアをやっており、プログラミングよりもコマンド操作するのが圧倒的に多かったため、ちょっとしたことならGUIよりもターミナルで操作することが多いです。Windowsを使っていますが WSL2 + Ubuntu 20.04 LTSで開発環境を整えているため、操作に不自由はほとんどしません。 この手のエイリアスやzshなどのオススメ設定はググ
仕事用のマシンをM1 MacBook Proに交換してもらったので、開発環境を整え直しました。 2年ほど fish を使ってきたのだけれど、普段は良いのだけれど、ちょっと自動化したくなったときに、やはりPOSIX準拠じゃないシェルはなかなか難しかった。macOSの標準も zsh になったことだし、久しぶりに戻ってみることにした。 導入 現代なので XDG Base Directory Specification に乗っかっておくことにする。 Arch Linux の Wiki がよくまとまっていて助かるのでこれを参考にして進めた。 zshの場合は ZDOTDIR を指定するといいのだけれど、これをどこで指定するのかという問題がある。zshの起動時に最初に読み込まれるユーザー設定は ~/.zshenv なのだけれど、ここに ZDOTDIR を書くということは .zshenv だけホームディレ
標準出力と標準エラー出力についてメモ 毎回調べ直すことになっているので、メモメモ。さらに調べるのにまとまったサイトがなくて1つ1つ調べるはめになるので。まとめ シェルによって違いがあるため今回はbashに限る 前提知識 【知識0】 unixコマンドは左から右に処理される。これは絶対 【知識1】 (標準入力 : 0) 標準出力 : 1 ※画面に出力される 標準エラー出力 : 2 ※画面に出力される 【知識2】 0,1,2はファイルディスクリプタと呼ぶ 【知識3】 「>」リダイレクト シェルの結果を出力する場所を指定可能 command ファイル・ディスクリプタ> 出力先 ※commandは何らかのコマンドかshファイルとしている 【知識4】 出力先などを特定のファイルディスクリプタに送りたい場合は「&ファイル・ディスクリプタ」とする echo "standard output" >&2 【知
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く