タグ

shに関するrmatsuokaのブックマーク (9)

  • Bun でクロスプラットフォームなシェルスクリプト

    Bun でクロスプラットフォームなシェルスクリプト 2024.01.20 Bun の `$` を使うと、クロスプラットフォームなシェルスクリプト(Bun Shell)を書くことができます。Bun Shell は macOS (zsh)、Linux (bash)、および Windows (cmd) と OS の違いを気にせずにシェルスクリプトを書ける、JavaScript オブジェクトとのやりとりが可能であることが特徴です。

    Bun でクロスプラットフォームなシェルスクリプト
  • シェルスクリプトの set -e は罠いっぱい

    ふみやす@シェルまおう(自称でない) FGO:838,149,789 @satoh_fumiyasu Perl では最初に use strict; use warnings すべきなように、シェルでは set -u すべき。「例外処理って何? おいしいの?」って人は set -e もしておけ。 2012-06-25 18:25:20 ふみやす@シェルまおう(自称でない) FGO:838,149,789 @satoh_fumiyasu シェルスクリプトをまともに書けない奴は、それでも書かなければならないときは、とりあえず変数展開するとき必ずダブルクォートで括れよ。$foo じゃなくて "$foo” な。あと最初に set -u; set -e でもしておきな。シェルスクリプトが駄目なんじゃなくて、書けないだけ。 2012-12-22 00:27:38

    シェルスクリプトの set -e は罠いっぱい
    rmatsuoka
    rmatsuoka 2023/01/12
  • mktemp(1) もどきを作ってみた - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    mktemp(1) もどきを作ってみた - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、7日目の記事です。 昨日のネタの続きで mktemp(1) もどきをシェルスクリプトで実装してみました。 mktemp コマンドの仕様 mktemp の主な仕様をおさらいしましょう。 /tmp/tmp.<ランダム文字列> という名前のファイルを作成する。 必ず新規のファイルとなる。既存のファイルを絶対に上書きしない。 競合の回避。 シンボリックリンク攻撃の回避。 ファイルのモードは必ず 0700 になる。 ファイル内容漏洩の回避。 まずは、これらをシェルスクリプトで実現する方法を紹介します。 /tmp/tmp.<ランダム文字列> という名前のファイルを作成 bash,

    rmatsuoka
    rmatsuoka 2023/01/12
  • マスタリングLinuxシェルスクリプト 第2版

    Linuxシェルスクリプトの解説書。その中でも特にbashのシェルスクリプティングに焦点を当てています。シェルスクリプトの書き方、デバッグ方法、bashプログラミングの基といったシェルスクリプティングの基礎から、sedやAWKなど各種ツールとの連携といった実践的な応用までを体系的に解説します。WebサーバーなどのLinuxシステムの管理を任されるようになった初級の管理者にも、もっと高度で実践的なテクニックを必要としている中級の管理者や開発者にも広く役に立つ内容です。 監訳者まえがき まえがき 1章 bashのスクリプトとは何か、なぜそれが必要なのか? 1.1 技術要件 1.2 Linuxのシェルの種類 1.3 bashスクリプトとは何か? 1.4 bashコマンドの階層 1.4.1 コマンドの種類 1.4.2 コマンドのパス 1.5 スクリプトのためのテキストエディターの準備 1.5.1

    マスタリングLinuxシェルスクリプト 第2版
  • シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog

    この記事は、 NTT Communications Advent Calendar 2022 4 日目の記事です。 こんにちは。 SDPF クラウド・仮想サーバーチームの杉浦です。 普段は OpenStack の開発・運用をしています。 みなさんはシェル芸と聞いてどのようなコマンドを想像しますか? 私は以下のような怖いコマンド 1 を想像していました # 無限に process を fork するコマンドです # 実行するときは自己責任でお願いします :(){ :|:& };: ですがシェル芸はもっと親しみやすくて 2 実用的なものです。 私はシェル芸のシェの字もできないくらいシェル芸初心者だったのですが、 1日1問、半年以内に習得 シェル・ワンライナー160ノック というを完走してシェル芸チョットワカルようになったので、の宣伝をしつつ完走した感想を紹介しようと思います。 1日1問、

    シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog
    rmatsuoka
    rmatsuoka 2022/12/04
  • styleguide

    Background Which Shell to Use Bash is the only shell scripting language permitted for executables. Executables must start with #!/bin/bash and minimal flags. Use set to set shell options so that calling your script as bash script_name does not break its functionality. Restricting all executable shell scripts to bash gives us a consistent shell language that’s installed on all our machines. In part

    rmatsuoka
    rmatsuoka 2022/10/30
    Shell Style Guide
  • The Base Specifications Issue 7

    The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1™-2017 (Revision of IEEE Std 1003.1-2008) Copyright © 2001-2018 IEEE and The Open Group A newer edition of this standard exists POSIX.1-2017 is simultaneously IEEE Std 1003.1™-2017 and The Open Group Technical Standard Base Specifications, Issue 7. POSIX.1-2017 defines a standard operating system interface and environment, inc

  • どの環境でも使えるシェルスクリプトを書くためのメモ ver4.60 - Qiita

    シェルスクリプトは環境依存が激しいから…… などとよく言われ、敬遠される。それなら共通しているものだけ使えばいいのだが、それについてまとめているところがなかなかないので作ってみることにした。 「どの環境でも使える=POSIXで定義されている」と定義 「どの環境でも使える」とは、なかなか定義が難しい。あまりこだわりすぎると「古いものも含め、既存のUNIX全てで使えるものでなければダメ」ということになってしまう。しかし、私個人としては 今も現役(=メンテナンスされている)のUNIX系OSで使いまわせること にこだわりたい。 とはいっても全てのOSやディストリビューションについて調べられるわけではないので、この記事では基的に最新のPOSIXで定義されていることをもって、どの環境でも使えると判断するようにした。(飽くまで「基的に」ということで) 従って、互換性確保のため、シェルの中で使ってよい

    どの環境でも使えるシェルスクリプトを書くためのメモ ver4.60 - Qiita
  • スマートな紳士のためのシェルスクリプト

    シェルスクリプトプログラミングに取り組むときに最もはまりやすい問題、それが「while問題」だ。今回はその原因を掘り下げてみよう。(編集部)

    スマートな紳士のためのシェルスクリプト
  • 1