タグ

shellに関するikosinのブックマーク (61)

  • zinitでzsh環境をいい感じにしたメモ - Qiita

    はじめに プログラミングで使っているPC(プログラミングに使わないPCは持ってないけど)のシェルはここ3年くらいは zsh を使っていて、zshの機能を拡張するためのプラグインマネージャには Prezto を利用していました。 ↓過去にPreztoでzsh環境を作ったときの記事 Macのzshでプロンプトをカスタマイズしたり、コマンド履歴を検索したりできるようにする 今回、仕事で使うPCが新しくなったので、今どきのプラグインマネージャはどれが良いんだろう?と調べてみたところ、 zinit(旧名 zplugin)が良さそうだったのでこれを使ってシェル環境を作ってみました。 結果としては以前に Prezto で設定していたシェル環境よりも快適になったと思います。 なお、数多あるzshプラグインマネージャの情報は awesome-zsh-plugins がまとまっていて参考になりました。 zin

    zinitでzsh環境をいい感じにしたメモ - Qiita
    ikosin
    ikosin 2023/10/20
  • dotfilesのこだわりを晒す - エムスリーテックブログ

    Unit4の永山です。 dotfiles弄りを趣味にしています。 世にdotfilesを題材とした記事は数多く存在していますがその大半は「dotfilesを作ってみた」「こうやって管理しています」などの表層的な部分の紹介に留まり、その奥にあるべき細部のこだわりや個人の思想にまで踏み込んだ記事は数えるほどしかありません。 そこで、記事では私のdotfilesを題材にその各構成要素についてオススメ, TIPS, こだわりに分類し、可能な限り詳細に紹介します。 github.com 記事は筆者の関心の都合上、Zshに関する項目に大きく比重を置いています。ご承知おきください。 dotfilesとは dotfilesを作成することの利点 記事の構成 Zsh編 [オススメ] プラグインの管理にZinitを使う 注釈: Zinitについて [オススメ] Zshプラグインは非同期読み込みする [オスス

    dotfilesのこだわりを晒す - エムスリーテックブログ
    ikosin
    ikosin 2023/10/20
  • GitHub - natemoo-re/clack: Effortlessly build beautiful command-line apps

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - natemoo-re/clack: Effortlessly build beautiful command-line apps
  • A Guide to the Terminal, Console, and Shell

    #Tools #MouselessA Guide to the Terminal, Console, and ShellThis is a boring morning for every employee of MegaCorpMoneyMaker, the famous E-commerce. You are no exception: only dragging yourself out of your bed to crawl to your office required some superhuman efforts. Dave, your colleague developer, loudly explain to an intern what she should do to connect to one of the company’s Kubernetes cluste

    A Guide to the Terminal, Console, and Shell
    ikosin
    ikosin 2023/01/03
  • Fig

    Dear Fig users, Effective September 1, 2024 we will be ending access to Fig. We encourage users to migrate to Amazon CodeWhisperer for command line. It’s free on the Individual tier and is designed to be faster and more reliable than Fig. To make this transition as easy as possible, users can upgrade to CodeWhisperer for command line directly from the Fig dashboard. To learn more about the changes

    Fig
    ikosin
    ikosin 2022/07/11
  • なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips - 理系学生日記

    会社の中でシェルスクリプトについての話をすることにしたので、このエントリはそのためのものです。 個人的な好みとかもいろいろ入ってしまっているので、そのあたりは取捨選択してください。 なぜ今シェルスクリプトを学ぶのか 公開されているSREをマルっとPDF化する SpotBugsのViolationレポートをMerge Requestのコメント投稿する ぼくの互換性についての考え方 何で書くか シェルスクリプトをうまく書くには ShellCheckを使う バッドパターンとその修正 line-by-lineの処理が多い lsを使う ls /directory | grep mystring ls | grep -v 'log$' lsの結果をループさせる 良いシェルスクリプトを書くためのTIPS set -euする 文字列は基的にクオートする 局所変数にはlocalを使う 定数は読み取り専用

    なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips - 理系学生日記
  • How can I pretty-print JSON in a shell script?

    Is there a (Unix) shell script to format JSON in human-readable form? Basically, I want it to transform the following: { "foo": "lorem", "bar": "ipsum" } ... into something like this: { "foo": "lorem", "bar": "ipsum" }

    How can I pretty-print JSON in a shell script?
  • /bin/shと/bin/bashの違い(とcronでのシェル)

    B! 29 0 1 0 シェルスクリプトを書く時にShebangに#!/bin/shの様にシェルの指定をしますが Bashの機能を使いたい場合はきちんとbashを指定しないといけません。 その辺の違いは早いうちに気づくことがあると思いますが、 cronの中でのシェルについてちょっと見落としていたのでその辺について。 /bin/shと/bin/bash RedHat系やMacなどでの/bin/sh UbuntuなどDebian系の/bin/sh シェルスクリプトに書くShebang cronジョブの時に使われるシェル /bin/shと/bin/bash RedHat系やMacなどでの/bin/sh RedHat系のLinuxで/bin/shを見てみると、 $ ls -l /bin/sh 0 lrwxrwxrwx 1 root root 4 Sep 27 2014 /bin/sh -> bas

    /bin/shと/bin/bashの違い(とcronでのシェル)
    ikosin
    ikosin 2022/01/04
  • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の当の理由を知ると優れた文法が見えてくるShellScriptBashUNIXshellPOSIX はじめに シェルスクリプトの変数代入で = の前後にスペースを置くことができない理由は、検索すれば「プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話」のような記事がすぐに見つかります。記事に書いてあるとおり変数代入とコマンド呼び出しと区別がつかないからです。それは間違いではないんですが、私はもう少し説明が足りないと感じています。そこで今回は = の前後にスペースを置けない当の理由を解説したいと思います。 の前に皆さんにはこの話を読みながら、自分がシェルスクリプトの言語設計者だったとしたら、どういう言語仕様にするかを考えて欲しいです。なぜかと言うとシェルスクリプトの文

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
  • POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき!ShellScriptBashshellPOSIX はじめに find の出力を xargs にパイプで渡すというのはよく見かける使い方ですが、find -print0 | xargs -0 が使えない POSIX 準拠のシェルスクリプトでは find -exec {} + を使った方が良いです。安全かつ十分に速いからです。よく見かける -exec {} ; ではなく -exec {} + ですので間違えないようにしてください。多くのケースでは + の方が優れているのですが ; ばっかり使われているのを見ると、意外と知られてない気がします。 少しだけ予備知識として、-exec {} ; は -exec {} \; と ; をバックスラッシュでエスケープするのがよく見る使い方

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita
    ikosin
    ikosin 2021/09/14
  • iTerm2の機能を使いこなして日頃の作業の効率をあげたい2020 - stefafafan の fa は3つです

    この記事ははてなエンジニア Advent Calendar 2020の6日目の記事です。 qiita.com 5日目は id:mizdra さんによるpolyfill を深堀りするでした。フロントエンド周りは弱い自分としてもこの記事を読むだけでpolyfillの概要から今後どうすると良いかなど知れてとてもありがたい記事でした。 www.mizdra.net さて今日は視点変えてツールの話を書きます。毎日使っているツールこそ、提供されている便利な機能を把握しておきたい。Macで使ってるターミナルアプリ「iTerm2」について書きます。 iterm2.com まずはみんながひょっとしたら知らない基操作についていくつか紹介し、後半はTriggersという機能の使い方をいくつか紹介します。 (記事執筆時点ではver.3.4を使っています) tl;dr 公式ドキュメントにいろいろ書いてあるので読み

    iTerm2の機能を使いこなして日頃の作業の効率をあげたい2020 - stefafafan の fa は3つです
  • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ikosin
    ikosin 2018/06/01
  • sudo で書き込みをしたい - Qiita

    sh "sudo echo -e \"$data\" > /path/to/nginx/config" sh 'sudo service nginx reload' 実行するとエラーが起きた。 権限エラーだ。 Rake 経由だと sudo が使えないのだろうか。だが、一応 1 行目を消して実行してみたら無事に Nginx コンフィグがリロードされた。 なぜ。 この問題はスクリプトの中で sudo を使わないようにして Rake 自体を sudo で実行すれば解決する。 しかし今回のツールでは、全ての処理に管理者権限が必要なわけではない。普段権限なしで実行していて特定の場面でだけエラーが起きるのは、たぶん数ヵ月後に出会うと小さなストレスだ。 必要になればパスワードを求める仕様にしたかった。 sudo 経由で書き込むことが今回の目的だ。 環境 Ubuntu 15.04 sudo 1.8.9p5

    sudo で書き込みをしたい - Qiita
    ikosin
    ikosin 2018/04/17
  • ハイフンを使った便利な標準入出力指定でのコマンドライン - Qiita

    クールでカッコイイ用法を発見したら随時追記していこうと思います。 ハイフンで標準入出力 コマンドでファイル名を渡す際にハイフンを指定すると基的には標準入力(標準出力)として解釈してくれます。 たとえばcatコマンドで使うとキーボード入力をそのまま表示してくれます。

    ハイフンを使った便利な標準入出力指定でのコマンドライン - Qiita
    ikosin
    ikosin 2018/04/17
  • bash/zsh SSHでログインした時だけ実行する - Qiita

    Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-48-generic x86_64) * Documentation: https://help.ubuntu.com/ System information as of Mon Jan 4 10:22:31 UTC 2016 System load: 0.0 Processes: 96 Usage of /: 15.1% of 7.74GB Users logged in: 0 Memory usage: 5% IP address for eth0: 10.4.1.113 Swap usage: 0% Graph this data and manage this system at: https://landscape.canonical.com/ Get cloud support wi

    bash/zsh SSHでログインした時だけ実行する - Qiita
  • 最強のヒストリ補完を作りました - tellme.tokyo

    最強のヒストリ補完を求めて シェルヒストリに不満を持っていたので自作しました。今の自分にとっては必要な機能を盛り込んでいて便利に使えていますが、誰かにとっては、もしくは数カ月後の自分にとってはぜんぜん最強じゃないかもしれないです。 以前このようなエントリを書きました。 www.tellme.tokyo このころから (いやもっと前から) シェルのヒストリ補完に不満を持っていました。 単純にデフォルトの C-r だと目的のものを探しづらい 例えばコマンド名の一部だけだとノイズが多すぎる けどディレクトリは覚えているからそれでもフィルタしたい、とか 他にも色々あって (その理由について先のエントリを見てもらうとして) zsh-history というツールを書きました。 GitHub - b4b4r07/zsh-history: A plugin for zsh history extended

    最強のヒストリ補完を作りました - tellme.tokyo
    ikosin
    ikosin 2017/06/15
  • コマンドラインがさらに便利になるfillinコマンドを作りました! - プログラムモグモグ

    fillinというコマンドラインツールを作成しました。 コマンドの一部を変数化して、別の履歴に保存しておけるツールです。 ステージング環境と番環境のように、同じコマンドで複数の環境を切り替えるのに便利です。 zshの (エッセンシャルソフトウェアガイドブック) 作者:広瀬 雄二発売日: 2009/06/17メディア: 単行(ソフトカバー) どうして作ったの コマンド履歴って便利ですよね。 私はよくコマンド履歴からコマンドを選んで実行しています。 シェルに付属しているデフォルトの履歴を使っている方もおられるでしょうし、fzfやpecoのようなインタラクティブな絞り込みを行なっている方もいるでしょう。 私が一番困っていたのが、認証キーの扱いです。 webアプリを作っていてcurlで素早く確認するときに、認証キーやアクセストークンを打つことがあります。 アクセストークンのようなランダムな英

    コマンドラインがさらに便利になるfillinコマンドを作りました! - プログラムモグモグ
  • Googleの肩に乗ってShellコーディングしちゃおう - Qiita

    はじめに GoogleさんがShellスタイルガイドを共有していたので、いくつか気になった点をピックアップしました。 自分のShellスタイルはかなり我流なので、自省の意味も込めてコメントも併記します。 Googleスタイルガイドの元ネタ (Python/C++/Java/Rとかだけでなくdocumentガイドなど色々あります) https://github.com/google/styleguide Shellスタイルガイド (今回はこちら) http://google.github.io/styleguide/shell.xml 当は人間がチェックするのではなくcpplintのためXML定義なのかもですが、気にしない気にしない。 (見たところcpplintc++だけだと思ってます) commitフックでshell系のlint走らせろっていうのが今風なのかもしれませんが、キニシナイキ

    Googleの肩に乗ってShellコーディングしちゃおう - Qiita
    ikosin
    ikosin 2017/01/09
  • "shove" というシェルスクリプト用のテストツールを作った - weblog of key_amb

    CONTENTS: "shove" とは Motivation こんなツールにしたい 使い方について 中で何をやっているのか おわりに "shove" とは こちらです。 github.com 動作イメージとしては README.md にも貼っているスクリーンショットがわかりやすいと思うので、こちらにも貼ります。 成功時: 失敗時: 上のようにテストスクリプトを引数に与えて shove コマンドを実行すると、テストを実行して結果を出力してくれます。 Perl Monger のみなさんは「proveっぽい」と思っていただけたでしょうか。 そうです。名前の "shove" は "shell" + "prove" を縮めたものです。 bash だけでなく、ksh, dash, zsh など POSIX を満たしているシェルに対応できるように作りました。 $SHELL 変数の値と異なるシェルでテス

    "shove" というシェルスクリプト用のテストツールを作った - weblog of key_amb
  • Advanced Bash-Scripting Guide

    This tutorial assumes no previous knowledge of scripting or programming, yet progresses rapidly toward an intermediate/advanced level of instruction . . . all the while sneaking in little nuggets of UNIX® wisdom and lore. It serves as a textbook, a manual for self-study, and as a reference and source of knowledge on shell scripting techniques. The exercises and heavily-commented examples invite ac

    ikosin
    ikosin 2016/04/04