/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Unit4の永山です。 dotfiles弄りを趣味にしています。 世にdotfilesを題材とした記事は数多く存在していますがその大半は「dotfilesを作ってみた」「こうやって管理しています」などの表層的な部分の紹介に留まり、その奥にあるべき細部のこだわりや個人の思想にまで踏み込んだ記事は数えるほどしかありません。 そこで、本記事では私のdotfilesを題材にその各構成要素についてオススメ, TIPS, こだわりに分類し、可能な限り詳細に紹介します。 github.com 本記事は筆者の関心の都合上、Zshに関する項目に大きく比重を置いています。ご承知おきください。 dotfilesとは dotfilesを作成することの利点 記事の構成 Zsh編 [オススメ] プラグインの管理にZinitを使う 注釈: Zinitについて [オススメ] Zshプラグインは非同期読み込みする [オスス
はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見
はじめに この記事では、2022年1月にリリースされたclapとclap_completeクレートを使って、シェルの補完スクリプトを生成する方法を紹介します。 clapはRustのコマンドライン引数パーサーです。 豊富な機能を備えており、Rustではデファクトスタンダートになっているライブラリです。 近年の他のプログラミング言語のコマンドライン引数パーサー——例えば、Pythonのargcomplete、clickやcleo、Goのgo-flags——同様に、補完スクリプトの生成に対応しています。 clapはBuilderパターンによるパーサーの構築が素の使い方ですが、バージョン3でderiveマクロによるパーサーの構築が安定化されました。 Builderパターンによるパーサーの構築——この機能はBuilder APIと呼ばれています——では、以下のようなコードでパーサーを記述します。構造
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
2020/04/20 この記事は書かれてから1年以上が経過しており、最新の情報とは異なる可能性があります techzshfishShellScript つい最近、長らく使っていた fish から、再び zsh への改宗を果たしました。 Bye bye, fish! 🐟 こんな感じの遍歴です。 bashtcshzshfishzsh <= いまここ前半の方(bash とか tcsh とか)はそもそもコマンド覚えたりするので精一杯だったんですけど、 後半になるに連れて(zsh とか fish とか)設計思想に触れて考えたりすることも増えてきて、 fish は不満はあれども、学びも多かった ので、その学びをこちらにメモしておければなと思いました。 fish の良いなと思ったところ ちなみに fish というのは fish shell のことです。 https://fishshell.com/ 特
本エントリは Rust その2 Advent Calendar 2016 - Qiita の 10 日目の記事です。 本記事では、Rust を使って CLI アプリケーションを作成してきた過程で得られた知見のひとつとして、コマンドラインオプション解析に用いる crate を簡単にまとめたいと思います。 基本事項 コマンドライン引数は std::env モジュールの args() (または args_os() )を用いて取得します。 最初の要素には通常実行ファイルのパスが格納され、引数自体は2番目以降に格納されます。 use std::env; fn main() { let program: String = env::args().next().unwrap(); let args: Vec<String> = env::args().skip(1).collect(); } getop
■ bash の危険な算術式 _ 使ってる人がいちばん多いだろうからタイトルでは bash としてるけど、ここで取り上げることは zsh および ksh 一族(本家 ksh、pdksh、mksh)にも該当する。ash、dash などでは該当しない。 _ 以下のシェルスクリプトには脆弱性がある。わかるだろうか。 #!/bin/bash # "品目,単価,個数" の形式の CSV を読んで、"品目,合計金額" の形式で出力する csv="foo.csv" while IFS=, read item price num; do echo "$item,$((price*num))" done < "$csv" これ、細工された CSV ファイルを食わせることで、任意コードの実行ができてしまう。数ある脆弱性の中でもとくにヤバいやつだ。どこが穴なのかというと、タイトルにもあるとおり算術式なのだが、し
Use zsh as the default shell on your Mac Starting with macOS Catalina, your Mac uses zsh as the default login shell and interactive shell. You can make zsh the default in earlier versions of macOS as well. By default, your Mac uses either zsh or bash as the command-line interpreter for the login shell and interactive shell: zsh (Z shell) is the default shell for all newly created user accounts, st
突然シェルのhistoryが消えてめっちゃつらかった。学生の頃に、漢のzshという連載を見て、シェルのヒストリは無限に大きくすべしというプラクティスを実践していた。それ以来、10年間くらい育ててきたけど、今朝見たら突然15KBになっていた。偶然Dropboxに残ってるのを復元したけど、直近5年分くらい消えてしまった。数ヶ月ぶりにTimeMachineのディスクをつないでみたらそもそも認識されなくて、ディスクごと壊れてるようだった。バックアップはリストアできないと意味ない。 思うのが、シェルの履歴という形で各自が有用なコマンドを保持していて、消えて困っているのがおかしい。リポジトリごとにhistory置き場となるウェブサービスを作ってどんどんpushしていくような形とか、エディタのランチャから起動するだけで開発が完結するとか、現代的な形は考えられると思う。昔はsshですばやくサーバーに接続し
はじめに Kubernetes のコマンドラインツールである kubectl (cube control1) には Bash/Zsh 向けの shell autocompletion が実装されています。シェル自動補完を利用すればサブコマンドや Pod 名を途中まで入力すれば後は動的に値を候補から補完してくれます。もうリソース名をコピペする必要はありません。 シェル補完を有効にする Bash を使用していれば次のコマンドを実行して .bashrc に一行追記します。これで次からのシェルの実行で自動的にシェル補完が有効になります。
ある日何気なく最新版のvagrant-berkshelf(4.0.4)を入れたところ、 It appears that you are not using the ChefDK. Please note that Vagrant Berkshelf works best when used with the ChefDK, and other installation methods are not officially supported. Please download and install the latest version of the ChefDK from: https://downloads.getchef.com/chef-dk and follow the installation instructions. Do not forget to add the Chef
データを眺めるのが好き 収集している情報 実現方法 データから分かった知見(?) 今後 年末なので、今年買ってよかったものに引き続き、今年やってみてよかった習慣について書いてみたいと思います。 データを眺めるのが好き 昔からデータを眺めるのは好きだったんですが、今年の5月くらいから自分に関するデータをとにかく収集してみました。可視化することで何か有益な視点だったり、生活の改善点が見つかるのではないか、という目的です。色んなデータを集めまくった結果、以下のようなグラフができあがります。ちょっと画像が小さいですが、毎日の歩いた歩数や体重、気温、録画した番組名、自宅マシンの負荷状況などが載っています。 収集している情報 上の画像ではとりあえずBlogに上げれるようなデータしか見せていないですが、収集している情報としては以下のようなものがあります。使用しているスクリプトで公開できるものはgithu
前半は、詩です。 Neovim情報がお求めでしたら下から読みましょう。 その昔 自分のGitHubのプロフィールを参考にするとJoined on Jan 10, 2014とあるので、その頃からプログラミングを始めたらしい。 github.com/zchee それまでの10年ぐらいはWindowsだったのもあって、コードは書いたことがなかった。ブラウジングのみの生活。 その後、WordPressのテーマをひたすらいじくる仕事についたのがきっかけで、ここでMacを初めて使うことになる。 ターミナルなんてものには触ったことがなく、正直人間がGUI以外で何かをすることは異常なのではないか、と思っていた… 初めのエディタは、フロントエンドの皆さんにはおなじみSublime Text。 プラグインが豊富で、エディタのテーマも豊富で、本業のデザイナーがデザインしたAtomからポートされたかの有名なSet
聞かせてくれたまえ。君はzshをなんと呼んでいるかね zshをどう発音するかは、なかなか難しい問題です。 これはzshに限った話ではありませんが、ずっと書籍などで独学していた人が、いざ勉強会で発表しようというときにトンチンカンな発音をしてしまって恥をかく……というのはありがちな光景です。 そこで本日は、よく見られるzshの呼び方を確認し、もっとも無難な読み方を考察してみたいと思います。 発音の候補 ずぃーしぇる もっとも正統的と言って良い発音です。"Z-Shell"をそのまま素直に発音すればこうなりますし、国内のみならず海外でもこの呼び方を聞くことが多いです。 zshのご先祖である(?)cshの時代には、ほぼ100%の人がcshのことを「しーしぇる (C-Shell [síːʃél])」と発音していたことからも、zshを「ずぃーしぇる」と呼ぶのは最有力候補と言って良いでしょう。 ぜっとしぇ
どういう状態かというと。 ★サブシェル起動前 $ printpath ← $PATHを表示 /Users/yonchu/.pythonbrew/bin /Users/yonchu/.rvm/gems/ruby-1.9.3-p286/bin /Users/yonchu/.rvm/gems/ruby-1.9.3-p286@global/bin /Users/yonchu/.rvm/rubies/ruby-1.9.3-p286/bin /Users/yonchu/.rvm/bin /usr/local/share/python /usr/local/mysql/bin /Library/Java/Home/bin /Users/yonchu/bin /Users/yonchu/dotfiles/bin /usr/local/bin /usr/local/sbin /usr/local/share
1. LeaderをSpaceキーにする Leader は素晴らしい概念です。キーの 組み合わせ ではなく 並び によって、操作を行えるようにするものです。私はこれを使っているので、操作のために” Ctrl -何らかのキー”の組み合わせを押す必要はめったにありません。 私は長い間、 , を Leader キーとして使っていました。ですがある時、キーボードの中で一番目立つキーにマップすることを思い付いたのです。Space(スペース)キーです。 これで私のVim生活は激変しました。今や、私は Leader をどちらの親指でも押すことができ、他の指は常にホームポジションにあります。 Leader がとても使いやすくなったので、私が様々なキーバインドで用いるようになったことは周知の話です。 2. 自分が特によく行う操作をLeaderにマップする 私は、自分がVimで作業を行っている中で、その時間の
Working with hugedomains.com was a quick and easy process. We got to speak to multiple real people located in Colorado without having to wait on hold! Our only complaint was we felt we had to overpay more than this particular domain was worth, and we weren't able to negotiate it down to a level that we felt was fair. However, payment and delivery were seamless, and within a few hours we had all of
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く