並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 364件

新着順 人気順

Bashの検索結果41 - 80 件 / 364件

  • 初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita

    なんだろう、嘘つくのやめてもらっていいですか? 大学も技術者認定機関も、いつまで古いまたは間違ったシェルとカーネルの概念を説明し続けるのでしょうか? シェルはカーネルの言葉をユーザーの言葉に翻訳したり、出力結果をユーザーに中継したり、カーネルを防御したりする層ではありません。指定したコマンドを実行するだけのプログラムです。勉強中の学生か代理執筆業者が適当な文献を調べて書いたとしか思えません。そして他人の説明を自分の言葉に置き換えるのが上手い人がおかしな説明をさらに広めています。個人サイトやオンライン学習サイト程度であれば適当なことを書いていても気にも留めませんが、大学や技術者認定機関のような正しいことを書いているに違いないと思えるような所までもが間違ったことを書いているから困ったものです。 みなさんは大学や技術者認定機関が言っていることなら正しいと思いこんでいないでしょうか? そんなことあ

      初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita
    • 【個人的に】Dockerがはかどる小技 - Qiita

      初めて知ったときは感動したけど 自分の中で知ってて当然になってしまった小技をまとめました まだこの小技を知らない人に届いてくれるとうれしい Dockerfile RUNを1つにまとめる

        【個人的に】Dockerがはかどる小技 - Qiita
      • リモートの Linux サーバを開発環境にする

        これまで Macbook Pro を開発環境としていたんだけど、価格は高いし Docker for Mac は重いしでいいことないなということで Linux の開発環境に移ることにした。前職の最初の数年はすべて VM(当初は jail)にログインして開発していたのでその頃に戻った感じ。ただ GUI は macOS が何かと楽なので Intel NUC を購入して自宅に置いてリモートでログインして使っている。Core i7、メモリ 64GB で10万ちょいと安いのにめちゃくちゃ快適でさいこう。 ここからは備忘録としてリモートを開発環境とするうえで実施した作業を残す。あと作ったものもあるので宣伝。 外部からログインしたい自宅以外からも使うだろうということで(最近京都からリモートで働くこともあり)、VPN サービスとして Tailscale を導入した。 Best VPN Service for

          リモートの Linux サーバを開発環境にする
        • Vimの:wと:rの便利Tips

          始めに Vimには:wと:rコマンドがあります。コマンド自体は知っている方が多いかと思います。 ぼく的にちょっと便利な使い方ができるので、それお紹介していこうと思います。 :r :r banana.txtでファイルの中身を読み取って、現在のカーソルの次の行に挿入してくれます。 挿入できる行も指定できます。その場合は:{lnum}r banana.txtというふうに先頭に行番号を入力します。 ここからがイチオシですが、実は:r !{cmd}でコマンドの出力も挿入できます。 たとえば、APIのレスポンスをVimでちょっと編集したい場合や、コマンド実行結果を記事に挿入したい場合などに便利です。 :w :wについてVimmerのみなさんなら誰もが知っているコマンドなので説明は省きますが、 実は:w !{cmd}でバッファの内容を外部コマンドの標準入力として渡してくれます。 つまり、標準入力からコー

            Vimの:wと:rの便利Tips
          • シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita

            はじめに ことの始まりは「シェルスクリプトでツールを作ったけど速度が遅くて使い物にならなかったので供養」というツイートを見たからです。コードを見てみると、実例をあまり見ないシェルスクリプトのリファクタリング例として丁度良い内容と分量だったため記事にいたしました。記事を書くにあたりコードの利用を快く承諾していただいた @Hayao0819 様にはこの場を借りて御礼を申し上げます。 内容は章立てで構成しており、序章で事前調査をし、第一章で一般的なリファクタリング、第二章でパフォーマンスを重視したリファクタリング、終章で少し余談をして締めくくっています。最初はパイプは並列処理されるから速くなるというのは神話(そうとは限らない)についても書いていたのですが流石に長いので分けました。それでも書きたいことを色々書いていたらめちゃくちゃ長くなってしまいましたので読み物として私がどんなことを考えながらリフ

              シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita
            • シェル・ワンライナー 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
              • なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する

                なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決するShellScriptUNIXSQLitePOSIXQiitadelika 「利用者は数十億人!? SQLiteはどこが凄いデータベース管理システムなのか調べてみた」の続きです。 はじめに 複雑な構造のデータを扱うのであればシェルスクリプトや Unix (POSIX) コマンドでデータ管理を行うのは避けるべきだと思います。解決不可能な問題が多いからです。しかしそれでも何かしらの理由でやろうと考える(やらなければいけない)のであれば SQLite を使うのをおすすめします。シェルスクリプトや Unix コマンドは行単位の単純なテキストデータをシーケンシャルにデータ処理するのが前提となっており、改行や空白が含まれるデータや複雑な構造のデータ扱うのは苦手です。またシェル

                  なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する
                • (たぶん)君はまだtmuxの真の力を引き出せていない - Qiita

                  目次 tmuxとは 起動して新規セッションを作成する windowを作成する window間を行き来する windowを分割してpaneを作成する paneを行き来する セッション間を行き来する 【応用】tmuxの表示内容をリダイレクトする 【応用】情報バーにgitのbranch名を表示する 【応用】現在の操作パスを表示する 【応用】スニペットを呼び出す 以上の設定の .tmux.conf はこちら tmuxはバージョン互換性がかなり微妙 YouTubeでも公開したのでチャンネル登録してくれると嬉しいです tmuxとは tmuxとはターミナルマルチプレクサと言われるもので、sshで作業マシンにログインして操作した際や、重いプログラムを実行するなどして帰りたいが終了せずに作業を継続したい際などが、最も簡単なユースケースです。 これだけにとどまらず、tmuxはterminalを複雑に装飾できる

                    (たぶん)君はまだtmuxの真の力を引き出せていない - Qiita
                  • Amber The Programming Language

                    Write your scripts in a modern type-safe and runtime-safe programming language that handles many bugs and mistakes during the compilation process.

                      Amber The Programming Language
                    • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

                      はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

                        シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
                      • また make の話してる(2020年9月14日) - なにもわからない

                        私の大好きな Makefile の話が盛り上がっていたのでまとめました。 「やめてね。」って方はお声がけください。 同じ会社にいるけど、真逆の感想を持っている。Makefile読まないと副作用が分からないし、Rakefile/package.jsonだけで済むのに無駄に1つレイヤ増えていて、Makefileできたときからいる人は楽だけど、途中から入った人にとっては学習コストが高い。 https://t.co/EXtmI3xl72— 神速 (@sinsoku_listy) 2020年9月13日 golangでMakefileを使うのは分かる。 ただ、RubyやNode.jsのリポジトリなら $ git clone xxx $ cd xxx $ bundle install && rake もしくは npm install && npm test で環境構築ができることを期待する。— 神速 (

                          また make の話してる(2020年9月14日) - なにもわからない
                        • おうちの回線速度をお手軽に可視化してみよう | IIJ Engineers Blog

                          2018年新卒入社。名古屋支社にてSI中心にお仕事をするエンジニア。仕事ではサーバやミドルウェアを、趣味ではウェブやアプリを弄っています。 【IIJ 2022 TECHアドベントカレンダー 12/21(水)の記事です】 はじめに 名古屋支社の kmmt-t です。 今年の夏頃、インターネットの回線速度を測定するブームがありました。(なぜ?については触れませんが・・・) 俗に言われる「回線速度」というものは、時間帯やご近所さんの利用状況などの様々な要因で変化するものなので1回だけ測ったところで大した意味は持たないでしょう。先日公開された弊社のハンズオン研修の1つである「監視Overview」でも述べられている通り、何かのシステムを監視するのであれば「可視性」「通知性」「特定性」「分析性」を重視しなければなりません。・・・例えそれが自宅のインターネット回線であっても! というわけで今回は、以下

                            おうちの回線速度をお手軽に可視化してみよう | IIJ Engineers Blog
                          • PowerShellのスクリプトを書く時の諸注意

                            先日Windows向けの作業のちょっとした自動化のためにPowerShellのスクリプトを書いたので、少し躓いたポイントを書きます。 大人しくLinux版のPowerShellもインストールします WSL2のEmacsから快適に編集するためにシンタックスなどのエラーレポートなどがやはり欲しいですね。 Powershell - LSP Mode - LSP support for Emacs を使えば普通にLSPが利用可能ですが、インストールするためにpwshが実行ファイルとしてPATHに認識されている必要があります。 しかしWSL2上で作業しているのですから、 Windows上のpwsh.exeを使えば多重にインストールする必要がなくなるのではと考えました。 そこでlsp-pwsh-exeにpwsh.exeを追加してみたのですが、 Windows上のPowerShellをWSL2上で動かす

                              PowerShellのスクリプトを書く時の諸注意
                            • いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita

                              いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくったPythonOpenAIChatGPTlangchain はじめに ChatGPT APIが出たので早速さわってみました。せっかくなので何か便利なものをということで自分向けに使えそうなツールをつくっていたら 良いかんじに動作したのでご紹介します。 つくったものは、「ChatGPTを用いた自然言語によるシェルコマンドランチャー」です。百聞は一見にしかずと言うことでまずは動作するところをみてください。 概要 wannaコマンドは、ChatGPTを用いた自然言語によるシェルコマンドランチャーです。自然言語によって、bash scriptを生成し、名付けし、管理できます。 コマンドライン上での操作は簡単に多くのことを行うことができるため、非常に便利です。しかし、多くのコマンドやオプションの組み合わ

                                いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita
                              • ひさしぶりにzshに戻りました - ちなみに

                                仕事用のマシンをM1 MacBook Proに交換してもらったので、開発環境を整え直しました。 2年ほど fish を使ってきたのだけれど、普段は良いのだけれど、ちょっと自動化したくなったときに、やはりPOSIX準拠じゃないシェルはなかなか難しかった。macOSの標準も zsh になったことだし、久しぶりに戻ってみることにした。 導入 現代なので XDG Base Directory Specification に乗っかっておくことにする。 Arch Linux の Wiki がよくまとまっていて助かるのでこれを参考にして進めた。 zshの場合は ZDOTDIR を指定するといいのだけれど、これをどこで指定するのかという問題がある。zshの起動時に最初に読み込まれるユーザー設定は ~/.zshenv なのだけれど、ここに ZDOTDIR を書くということは .zshenv だけホームディレ

                                  ひさしぶりにzshに戻りました - ちなみに
                                • GoogleのShell Style Guideの邦訳 - Qiita

                                  背景 (Background) どのシェルを使うか (Which Shell to Use) Bash は実行が許可された唯一のシェルスクリプト言語である。 実行可能ファイルは #!/bin/bash と最小限のフラグで始めなければならない。シェルオプションの設定に set を利用することで、 スクリプトを bash script_name として呼び出してもその機能を損なわないようにせよ。 全ての実行可能シェルスクリプトを bash に制限することで、全てのマシンにインストールされた一貫したシェル言語を得る。 これに対する唯一の例外は、コーディング対象によって強制される場合である。この1つの例として、Solaris SVR4 パッケージは、どんなスクリプトにも plain Bourne shell であることを要求する。 いつシェルを使うか (When to use Shell) シェル

                                    GoogleのShell Style Guideの邦訳 - Qiita
                                  • 共同開発を始めるときに便利な 5 つの GitHub Actions

                                    はじめに スタートアップ等において新しいプロダクトを始める時は、負債が無い代わりに何もありません。 そういった時に、ソフトウェアの品質を担保するための CI のセットアップが、初期から重要になってきます。 GitHub を使用している場合は、GitHub Actions を使用されることが殆どだと思うので、そちらを前提に進めていきたいと思います。 1. rhysd/actionlint 様々なエンジニアが action を追加したり、編集したりするようになった時、全員が正しい書き方で書いていくことは難しいです。 また、それを 1 人の GitHub Actions Expert がレビューしていくのは大変で、属人化してしまっているので、避ける方が望ましいです。 以下をコピペすれば、使用できます。 name: Actionlint on: push: branches: [ main ] p

                                      共同開発を始めるときに便利な 5 つの GitHub Actions
                                    • Bash シェルスクリプトのデバッグや入力補完ができる Visual Studio Code 拡張機能(WSL2,mac,Linux対応) - Qiita

                                      Bash シェルスクリプトのデバッグや入力補完ができる Visual Studio Code 拡張機能(WSL2,mac,Linux対応)ShellScriptBashdebugVSCodeWSL2 シェルスクリプトにも統合開発環境を Bash のシェルスクリプト (shell script) は Linux はもちろん mac や Windows でも動作します。 シェルスクリプトの文法にはかなりクセがありますが、仕様が安定しているために移植する必要がないという大きなメリットがあります。ただ、一般的なプログラミング言語と異なり、デバッガーが使えないため期待した動作と異なるときに動きが分かりづらいという弱点がありました。 しかし、それはもう過去の話です。 Visual Studio Code の Bash Debug 拡張機能を使えば、シェルスクリプトでもステップ実行や環境変数の値のウォッ

                                        Bash シェルスクリプトのデバッグや入力補完ができる Visual Studio Code 拡張機能(WSL2,mac,Linux対応) - Qiita
                                      • チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル

                                        たまに忘れてコケたり,周りでも困っている人がいるようだったのでメモ. 追記(2020-09-06T11:25+09:00) この記事では仕組みのほうについて記述しており,由来については書いてなかったのですが,ブコメでホームディレクトリがチルダで表記されるようになった由来について幾人かの識者にご指摘いただきました. unix.stackexchange.com ちょうどHOMEキーと同じ場所にチルダキーがあったんですね.ありがとうございました. tl;dr ~/は$HOME/と同義である ~/が$HOME/に,ひいては実際の$HOME/の中身に展開されるのはシェル(e.g. bash, zsh, etc...)の拡張機能 シェルを使わなければその機能は使えないので,手で展開する必要がある シェルを使わない状況: プログラム中からパスをいじるような場合,DockerfileのCMDなど ~--

                                          チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル
                                        • Linuxの面白いコマンド9選 - Qiita

                                          はじめに Linuxの面白い(あんまり使い道のないどうでもいい)コマンドを9個まとめてみました。暇な時ぜひ試してみてください! ※環境によっては、コマンドのインストール方法が異なる場合があるので、本記事ではインストール方法を記載しません。 1.メッセージをつぶやくウシ cowsay cowsayは、メッセージをつぶやくウシ(オプションで他の動物を指定することも可能)のアスキーアートを生成するプログラムです。 下記コマンドを実行すると、「Hahaha」というセリフを言うウシが表示されます。 $ cowsay Hahaha ________ < Hahaha > -------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || $ cowsay -f turtle Hahaha ________ < Hahaha > -------- \ __

                                            Linuxの面白いコマンド9選 - Qiita
                                          • 今どきのシェルスクリプトは数値計算にexprを使わない(POSIX準拠) - Qiita

                                            はじめに 1992 年に POSIX でシェルが標準化されて以来、シェルスクリプトの数値計算に expr コマンドは使いません。expr コマンドを使って計算していたのは Bourne シェル(古い UNIX の sh)時代の話で、現在の POSIX sh (dash、bash、ksh 等)時代では数値計算に expr コマンドは不要です。今どきはシェルの機能だけで整数の計算を行うことができます。「今どき」って一体いつからだって話なわけですが……。 注意 シェルスクリプトでパフォーマンスの話をするとすぐに「他の言語で〜」という方がいますが、私はどんなことにでもシェルスクリプトを使えなんて一言も言っていません。パフォーマンスを気にしている理由は、そこが実際にシェルスクリプトのボトルネックになるポイントだからです。そもそもシェルスクリプトと一般的な言語は言語設計レベルで得意なことが違います。ユ

                                              今どきのシェルスクリプトは数値計算にexprを使わない(POSIX準拠) - Qiita
                                            • AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC Engineers' Blog

                                              SREチームの藤原です。Tech Kayac Advent Calendar Migration Track 19日目の記事です。いよいよ年も押し詰まってきましたね…! AWS Lambda、使ってますか?最近はサーバーレスという文脈で取り上げられることも多い Lambda ですが、カヤックではそこまでサーバーレスにこだわることはせず、主にイベントドリブンな処理に適切なユースケースに使用しています。 Lambda のリリース当初に用意されていたランタイムは Node.js のみでした。カヤックで最近使うことが多い言語である Go, Ruby のランタイムがサポートされたのが比較的最近だったということもあり、Node.js の Lambda function が比較的多く存在している状況でした。 Node.js EoL (End of Life) ところで、技術基盤チームのリポジトリで「La

                                                AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC Engineers' Blog
                                              • GitHub - onceupon/Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.

                                                I am glad that you are here! I was working on bioinformatics a few years ago and was amazed by those single-word bash commands which are much faster than my dull scripts, time saved through learning command-line shortcuts and scripting. Recent years I am working on cloud computing and I keep recording those useful commands here. Not all of them is oneliner, but i put effort on making them brief an

                                                  GitHub - onceupon/Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.
                                                • GitHub Actions のワークフローをチェックする actionlint をつくった - はやくプログラムになりたい

                                                  GitHub Actions のワークフローを静的にチェックする actionlint というコマンドラインツールを最近つくっていて,概ね欲しい機能が揃って実装も安定してきたので紹介します. github.com なぜワークフローファイルの lint をすべきなのか GitHub Actions が正式リリースされてからだいぶ経ち,GitHub 上での CI は GitHub Actions が第一候補となってきているように感じます.僕も新規にリポジトリを作成して CI をセットアップする場合はほぼ GitHub Actions を使っています. ですが,GitHub Actions には下記のような問題があり,actionlint でそれらを解決・緩和したいというのが理由です. ワークフローを実装する時は,GitHub に push して CI が実行されるのを待って結果を確認するという

                                                    GitHub Actions のワークフローをチェックする actionlint をつくった - はやくプログラムになりたい
                                                  • How to use bookmarks in bash/zsh

                                                    How to installHere is where the magic is. Add these 4 lines of code to your bashrc or zshrc file. if [ -d "$HOME/.bookmarks" ]; then export CDPATH=".:$HOME/.bookmarks:/" alias goto="cd -P" fiAdditionally, you need to create the directory in your home folder or wherever it suits you, just remember to update the CDPATH variable above. mkdir ~/.bookmarksHow to useTo add a new bookmark, you just need

                                                      How to use bookmarks in bash/zsh
                                                    • ちょっと複雑なシェルスクリプトをJavaScriptで書く - lacolaco-engineering

                                                      ちょっと複雑なシェルスクリプトを https://github.com/google/zx を使って書くとJavaScriptプログラマにとってはメンテナンスしやすい /lacolaco/lacolaco.iconはzx歴 3-4ヶ月ってところ (2021-08) 嬉しいところ async/awaitが使える 配列が扱いやすい モジュールで再利用しやすい 他のNode.jsライブラリと併用できる Prettierでフォーマットしやすい Lintしやすい エディタ支援が安心 Made by Google 微妙なところ JavaScriptプログラマ以外にとっては無用 とはいえシェルスクリプトによほど慣れてる人以外はよく整理されたJavaScriptのほうがセマンティクスを読み取りやすいのではないか スクリプト自体はこんな感じ(公式READMEより) code:js #!/usr/bin/en

                                                        ちょっと複雑なシェルスクリプトをJavaScriptで書く - lacolaco-engineering
                                                      • Linuxのfree コマンドの見方とオプション ~availableやbuff/cacheの定義~

                                                        メモリの状態確認コマンド freefree コマンドはメモリの利用状態を確認することができます。 例えば以下のように表示されます。(数値の単位は KiB= 1024 Bytes) [root@localhost ~]# free total used free shared buff/cache available Mem: 3868920 197528 3402296 8680 269096 3444844 Swap: 839676 0 839676ヘッダ (total, used, free, shared, buff/cache, available) のそれぞれの関係は下図の通りです。 このコマンドで、メモリの空き状況を確認したいのであれば、free を見るよりも available を見ましょう。 というのも、Linux の特性として「空きメモリを無駄にしない」という設計思想の元

                                                          Linuxのfree コマンドの見方とオプション ~availableやbuff/cacheの定義~
                                                        • シェルスクリプトの $* と $@ の違いと雑学色々 - Qiita

                                                          まず位置パラメータを含め変数を参照する時にダブルクォートしないのは無しです。理由は予期せぬ変数展開やパス名展開が行われるからです。詳細は「シェルスクリプトの変数はダブルクォートしなければいけない!という話」を参照してください。この理由により上半分は「使いません」で終わりです。 ダブルクォートはほぼ必須ですが { } は必要な時だけ書けば十分です。常に ${var} のように { } を書く人がいるようですが、そういう人に限って面倒なのかダブルクォートをしてないことをよく見かけます。逆です。省略可能なのは { } であり、ダブルクォートは(本当に不要な場合を除き)省略できません。常に { } を使ってもかまわないと思いますがダブルクォートも書きましょう。 ❌ ${var} ・・・ ダブルクォートが抜けている! ⭕ "$var" ・・・ このように書け! ⭕ "${var}" ・・・ 問題ない

                                                            シェルスクリプトの $* と $@ の違いと雑学色々 - Qiita
                                                          • [書評] 「シェルスクリプト 入門の入門」 開発者は手元に置いておいた方がいいかも | DevelopersIO

                                                            こんにちは、CX事業本部の夏目です。 先日本屋をうろついていたら、偶然発見した本が非常に良いものを見つけました。 今年の4月に発行された書籍で、ちょっと在庫はこころもとなくなってきてますが、非常に良い本だったので気にせず紹介します。 (一部の書店や honto ではまだ在庫があるようです) シェルスクリプト入門の入門 作品紹介:シェルスクリプト入門の入門 :暗黒通信団 Linux を活用するには様々なコマンドを使いこなすことが重要ですが,それだけではありません.同じような処理を繰り返すならば一括して処理した方が,間違いが少なくなり効率が良くなります. 本書では,ターミナルで様々な処理を一括処理するために記述するシェルスクリプトについて,ポイントを押さえて最小限だけ説明することを目指しています.特に,Linux や macOS などで広く使われている Bash を用いることを考えています.シ

                                                              [書評] 「シェルスクリプト 入門の入門」 開発者は手元に置いておいた方がいいかも | DevelopersIO
                                                            • Shell Script Best Practices — The Sharat's

                                                              This article is about a few quick thumb rules I use when writing shell scripts that I’ve come to appreciate over the years. Very opinionated. Things¶ Use bash. Using zsh or fish or any other, will make it hard for others to understand / collaborate. Among all shells, bash strikes a good balance between portability and DX. Just make the first line be #!/usr/bin/env bash, even if you don’t give exec

                                                              • 「マスタリング Linux シェルスクリプト第 2 版」感想 - msksgm’s blog

                                                                概要 「マスタリング Linux シェルスクリプト第 2 版」を読みました。 感想を書きます。 マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 作者:Mokhtar Ebrahim,Andrew MallettオライリージャパンAmazon 概要 前提 目的 前提知識 読了時間 感想 次に関連で勉強すること まとめ 前提 目的 CI/CD の実力を上げるための手段としてシェルスクリプトの知識を獲得したかった 出版された当初にネットで評判が良く(こちらの記事を参考にした)、おもしろそうに見えた 特に、sed、awk あたりを入門したかった 前提知識 調べることはあっても、シェルスクリプトを体系的に学ぶのは初めてでした。 一応、1 月に「シェル・ワンライナー 160 本ノック」を読んでいました。しかし、想定よりも難易度が高

                                                                  「マスタリング Linux シェルスクリプト第 2 版」感想 - msksgm’s blog
                                                                • Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル

                                                                  以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(another-command)のように、$()でコマンドを括る記法だ。これを利用すると、括弧で括られたコマンドが実行され、その標準出力が文字列として取り出され、$()全体を置き換える。シェルスクリプトでは非常によく見る技術だ。 この$()でファイルの内容を読み出すというのを最近見た。このような用法は非常によく見る。 foo-command $(cat params.txt) しかし、より良い書き方があるのでこれを提唱したい。$(< params.txt)と書くことで全く同等のことができる。しかも速いのでこちらのほうが完全に上位互換となる。 foo-command $(< params.txt) この方法はBashのドキュメントのコマンド置換のコーナーにちゃんと書か

                                                                    Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル
                                                                  • Rust製の高性能コマンド3選

                                                                    Rustで作られたコマンドラインツールに良いものが多いと聞いて、Rust製の便利なコマンドをまとめてみます。RustがC/C++を置き換える言語というのもありますが、GNUの伝統的なツールをブラッシュアップしたツールがRustでいろいろ出てきているのはとても興味深いです。 findコマンドを置き換える fd fdはGNUの伝統的な検索ツールfindの置き換えです。findよりも簡潔にファイルの検索が可能です。 GitHubのリポジトリはこちらで、インストールも各パッケージマネージャーから使えます。 # mac $ brew install fd # ubuntu $ sudo apt install fd-find # win $ choco install fd 使い方は、検索したりディレクトリでfd キーワードと書くだけです。ポイントはfindと違って特にオプションをしていしなくても良

                                                                      Rust製の高性能コマンド3選
                                                                    • Bashシェルスクリプトの作成法をゼロから解説したLinux/WSL/macOSのユーザー向け解説書/『Bashシェルスクリプト入門』が発売【Book Watch/ニュース】

                                                                        Bashシェルスクリプトの作成法をゼロから解説したLinux/WSL/macOSのユーザー向け解説書/『Bashシェルスクリプト入門』が発売【Book Watch/ニュース】
                                                                      • Mac を買ったら必ずやっておきたい初期設定 - Qiita

                                                                        Mac 初期設定 対象読者 知り合いのエンジニアさん向け Mac初めて買った人 Web系エンジニア向け 環境 macOS Catalina 10.15.3 MacBook Pro (13-inch) 前置き 導入ツールについては良く使うものに厳選してます。 CLI ツールや GUI ツールは必要になってから入れた方がいいかも。 zshの設定、tmuxの設定、vimの設定は別記事にする予定です。 古いですがzsh設定の記事です。 https://qiita.com/ucan-lab/items/1794940a64882021dcb1 設定ファイルのインストール自動化は別記事にします。 私とまったく同じ設定にしたい人はいないと思うので今回は個別インストール記事にしてます。 (一通り書き殴っただけなので、追記するかも) 最初にやること ソフトウェア・アップデート (appleマーク) > こ

                                                                          Mac を買ったら必ずやっておきたい初期設定 - Qiita
                                                                        • シェルスクリプトをJavaScript/TypeScriptで記述、どのOSでも実行できる「Bun Shell」、JavaScriptランタイムのBunが発表

                                                                          JavaScriptランタイムのBunは、新機能としてシェルスクリプトをJavaScriptもしくはTypeScriptで記述し、特定のOSに依存せずに実行できる「Bun Shell」を発表しました。 シェルスクリプトは特定のシェルに依存するもの LinuxやmacOS、WindowsなどのOSは一般に、「シェル」(Shell)と呼ばれる機能を備えています。 シェルはコマンドラインインターフェイスなどのユーザーとの対話機能を備えており、例えばLinuxのコマンドラインで「ls」コマンドを打ち込むとファイルの一覧が返ってくるという動作はシェルが提供しています。 そしてシェルでは一般に、こうしたコマンドを複数つなげた一連の動作をスクリプトとして定義し実行できる「シェルスクリプト」が利用可能です。例えば、次のシェルスクリプトは、「ls」コマンドによるファイルの一覧をファイル「list.txt」に

                                                                            シェルスクリプトをJavaScript/TypeScriptで記述、どのOSでも実行できる「Bun Shell」、JavaScriptランタイムのBunが発表
                                                                          • POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita

                                                                            実は最大並列数の制限がなければジョブ(標準入力からの一行単位のデータ)の数だけバックグラウンドプロセスを起動すればいいのでかなり簡単に実装できます。ですが普通は嫌ですよね?ということで最大並列数を制限する処理を入れています。また通常の利用で必要になりそうな CTRL-C と TERM シグナルへの対応もしています。 #!/bin/sh set -eu [ "${ZSH_VERSION:-}" ] && setopt shwordsplit MAX_PROC=4 # 最大並列数 # INT(CTRL-C)、TERM による終了処理 terminate() { trap '' TERM kill -TERM 0 exit "$1" } trap "terminate 130" INT trap "terminate 143" TERM # trap : CONT # 並列で実行される処理 fu

                                                                              POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita
                                                                            • Windows TerminalとPowerShellでクールなターミナル環境をつくってみた

                                                                              // 👀 https://docs.microsoft.com/ja-jp/windows/terminal/customize-settings/global-settings { "$schema": "https://aka.ms/terminal-profiles-schema", "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "theme": "dark", "copyOnSelect": false, "copyFormatting": false, // ダブルクリックでパスを丸ごと選択したいため "wordDelimiters": " ", // 👀 https://docs.microsoft.com/ja-jp/windows/terminal/customize-settings/profi

                                                                                Windows TerminalとPowerShellでクールなターミナル環境をつくってみた
                                                                              • zsh + fzf で「あの時作業していたあのブランチ」を快適に探す - mizdra's blog

                                                                                今まで id:mizdra はターミナルで Git ブランチを切り替えるときに、zsh + peco を使った Git ブランチ検索用のキーバインドを使用していた。 # .zshrc function select-git-branch() { selected_branch=$(git branch | cut -c 3- | peco) BUFFER="${LBUFFER}${selected_branch}${RBUFFER}" CURSOR=$#LBUFFER+$#selected_branch zle redisplay } zle -N select-git-branch bindkey '^b' select-git-branch zsh + peco で Git ブランチを切り替える様子 便利っちゃ便利なのだけど...沢山のブランチの中から「あの時作業していたあのブランチ」

                                                                                  zsh + fzf で「あの時作業していたあのブランチ」を快適に探す - mizdra's blog
                                                                                • WSL以前から40年以上続く、Windows(Microsoft)とUNIXとの関わり

                                                                                  80年代、Microsoft製のUNIXが存在していた POSIXサブシステムは2012年までサポートが続いた 現在のWindows 11では、Windows Subsystem for Linux(WSL)が動作するため、(それ自体はUNIXではないものの)UNIXからのアプリケーションを簡単に動作させることができる。 かつてMicrosoftは、x86版UNIXのライセンスを持っており、XENIXと呼ばれる製品を販売していた。また、Windows NTに「POSIXサブシステム」、のちに「Windows Service for UNIX(SFU)」と呼ばれる機能があった。そういうわけで、WindowsとUNIXは切れない“縁”があったのだ。 Windows NTのPOSIXサブシステムやその搭載理由などに関しては、過去記事(「Windows Subsystem for Linuxの中身

                                                                                    WSL以前から40年以上続く、Windows(Microsoft)とUNIXとの関わり

                                                                                  新着記事