タグ

シェルに関するkinokotvのブックマーク (9)

  • ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク

    はじめに こんにちは、皆さん。今日は、シェルスクリプトを使った高度な自動化のベストプラクティスとパターンについて解説します。これらは、ちょっとした知識で実行でき、作業を大幅に効率化できるTipsです。シェルスクリプトは、特にUNIX系システムでの自動化タスクに欠かせないツールです。適切に使用すれば、複雑なタスクを効率的に、そして信頼性高く実行できます。 トイルとは、反復的でマニュアルな作業のことを指します。これには、例えば、手動でのシステムのスケーリングや、エラーのトラブルシューティング、ルーティンなメンテナンス作業などが含まれます。トイルを特定し、それを自動化することで、エンジニアはより創造的なタスクやプロジェクトに焦点を合わせることができます。 トイルを判別する方法としては、以下のような基準が挙げられます: 手作業であること 完全な手作業だけでなく、「あるタスクを自動化するためのスクリ

    ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク
  • bashの機能いろいろ

    シェルスクリプトを書いていると「それはbash独自機能だから」「POSIXシェルには無い機能だから」と言われることがよくあります。だいたいは「それみんな使ってるのでPOSIXで標準化されてると思った」といったものなのですが、記事では便利なものから「え、それやるくらいならPythonでよくない?」まで、bashの機能を紹介しようと思います。 for文でC言語っぽくループを回す シェルスクリプトでfor文といえばfor i in $(seq 10)とかをよく使いますが、bashだと以下のように書けます。

    bashの機能いろいろ
  • はじめに - Writing an OS in 1,000 Lines

    書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま

    はじめに - Writing an OS in 1,000 Lines
  • シェル・ワンライナー 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
  • 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 のシェルスクリプトを書くときに、いつも脳死で以下をやっている。(同僚が整備してくれたものをコピペしている) エディタなり CI で shellcheck をまわす set -euxo pipefail と冒頭に書く こんな感じ #!/bin/bash set -euxo pipefail いつまでもコピペではさすがにアレなので、意味を調べたメモ。 shellcheck koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts イケてない書き方に警告を出してくれる それぞれの警告にはエラーコード割り振られていてとても便利 エラーコードごとに正誤例、解説が書かれているのでわかりやすい SC1000 の例 CI もそうだし、エディタのプラグインも充実 しているのでとりあえず入れておくと良い set

    シェルスクリプトを書くときにいつもやるやつを調べた
  • 【shell】tmuxの作業画面を一発で構築するコマンドを作ってみた | DevelopersIO

    例えば以下のような形にpaneを分割したければ prefix - s, prefix - v, prefix - J J J J というような形で分割→リサイズをする必要がありました。これが毎回やっていると非常に面倒になります。というわけで、よく使う作業環境を作ってくれるコマンドを作成します。 画面分割 ①vim用, その他用で分割する時 windowを2つのpaneで分割して、上の大きなペインでvimを開きコードやメモを書いて、下の小さめのペインでシェルを使用したい時はこんな形になります。これを作成するコマンドを書いてみます。 tmux split-window -v tmux resize-pane -D 15 tmux select-pane -t 1 ②vim用, コード実行用, git用で分割する時 ウィンドウを3分割して、上のペインでvimを開きコードを書いて、左下ペインでコー

    【shell】tmuxの作業画面を一発で構築するコマンドを作ってみた | DevelopersIO
  • 入門 シェル実装

    開発者にとってシェルが必要不可欠なものであることは論を俟ちませんが、当たり前の存在すぎてこれがどのように実現されているのかを知る機会はあまりないと思います。トークでは、シェルがどのように実現されているのかを、実際にシェルを実装する過程を通じてお話しします。 ※ もともとのトークのタイトルは「入門 シェル」でしたが,わかりやすさのため「入門 シェル実装」にタイトルを変更しています.Read less

    入門 シェル実装
  • Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社

    こんにちは、hachi8833です。社内Slackで見かけたmorimorihogeさんの以下の書き込みで目から鱗が落ちました。 ~/.bashrcで何かを出力してしまうと、rsyncなどのsshパイプで問題が生じることがあるそうです。 参考: 知らないとrsyncでもハマるシェル初期化 - Qiita これをきっかけに、できるかぎり一次情報を元になるべく一般的になるようにまとめてみました。 シェルスクリプト(.bashrcや.bash_profileなども含む)はあまりに自由に書けてしまい、LinuxディストリビューションやmacOSによって作法がまちまちだったりするので、外してはいけないポイントがどこかを知りたかったのでした。 対象はbashとsh(Bourne Shell)に限定します。また、デスクトップGUIの設定ファイルについては最小限にとどめます。 bashのmanページ 元記

    Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社
  • 1