タグ

zshとshellに関するrichard_rawのブックマーク (20)

  • Macがzshになるなら、ZLEを習得するっきゃない! | DevelopersIO

    こんにちは、平野です。 WWDC 2019にて、macOS Catalinaではzshがデフォルトのシェルとして採用されることが発表されました。 https://support.apple.com/en-ca/HT208050 もちろんデフォルトが変わるというだけで、使い慣れたシェルを使い続けることができますが、 せっかくなのでそれにかこつけて、zshの機能の一つであるZLEをご紹介したいと思います。 zshというと「補完がすごい!」と紹介されることが多いように感じますが、 補完の機能は使いこなすのが難しくて、正直私には手に負えないと感じています。 一方ZLEは上辺をちょっと理解しただけで、 めちゃくちゃ簡単にインタラクティブシェルに機能追加ができちゃいます!! これを機会にzshを使い始めてもいいのよ? なお、あくまでもzshの機能の紹介であり、bashとzshの比較とかそういう内容では

    Macがzshになるなら、ZLEを習得するっきゃない! | DevelopersIO
    richard_raw
    richard_raw 2019/06/07
    zle気になってたけどこういうものなのか……。
  • Use zsh as the default shell on your Mac - Apple Support (CA)

    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

    Use zsh as the default shell on your Mac - Apple Support (CA)
    richard_raw
    richard_raw 2019/06/05
    Catalinaからzshがデフォルトになるそうな。/なるほど最新版bashがGPL3だから……。
  • ターミナルに雨雲を表示する - cuspy diary

    東京アメッシュ便利ですよね。 1日の天気予報が知りたいのではなく、「今」降っているのか、とか5分後に雨が降るのかどうか知りたいって時は天気予報を見るよりもアメッシュで雨雲の動きを自分で予測するほうが確実です。 あとゲリラ豪雨がやってくる季節になると、天気予報が役にたたなくなります。 そんなときアメッシュを見ながら外に出るタイミングを見計らったりしていますが、わざわざブラウザを起動するのが面倒なのでつくりました。 ターミナル上に雨雲を表示するシェルスクリプトame.shです! (これが言いたかっただけです…) 動作環境はSixel対応のImageMagickとmlterm、bashかzshで動作するはずです。 コード: https://github.com/hamano/ame.sh 実行: % curl -s https://raw.githubusercontent.com/hamano

    ターミナルに雨雲を表示する - cuspy diary
    richard_raw
    richard_raw 2016/12/02
    いいセンスだ……。
  • シェルスクリプトのreadでControl-a等を読み取る: ANSI C quoting

    B! 26 0 0 0 trashコマンドを拡張 している時に、選択画面で上下するときにVimみたくCtrl-F で1画面進む、みたいなことしたいな、と思って Controlキーを含んだ入力をreadで読み取って扱う方法を取り入れたのでそのメモ。 入力キー1つを受け取る Controlと同時押しのキーを受け取る Tips 8進数または16進数で書くときの注意 Ctrl-Cを使いたい場合 水平タブ(Ctrl-I)等を使いたい場合 使えない文字 ESCを判断する まとめ 入力キー1つを受け取る 入力キーを1つ受け取るにはBashでは read -s -n 1 c Zshでは read -s -k 1 c とします。 スクリプトがこの時点まで進んだ時に入力待ちになって、 何か1つでもキーを押すと、そのキーがcに入ります。 必要なら直前に echo -n "input: " とでも出しておけばわか

    シェルスクリプトのreadでControl-a等を読み取る: ANSI C quoting
    richard_raw
    richard_raw 2015/12/01
    ああ、たまに見る「$'string'」ってそういうことだったのか。
  • bash/zshのコマンドライン履歴機能。直前のコマンド、直前の引数。 - ミームの死骸を待ちながら

    よく忘れるので例示と共にメモ。ここらへん押さえておくと作業効率が上がる。bashのページで発見したものを載せている。zshでも確認した。 実行系 !! 直前に実行したコマンドを再現 !+何かの文字 !sudoとすれば、sudoで始まる直近の実行コマンドを再度実行。他にヒットしないのがわかってれば、!suとか!sでもいい。最短マッチ。 !:s/foo/bar 直前に実行したコマンドのfooをbarにして実行。gsにするとすべて置換 これは便利!! $ vim ../../.zshrc $ !:s/zsh/vim !n n番目のコマンドを実行。 hisotry | grep hogeして確認してから使うなど*1 代わりの名前系(単語指示子、というらしい) 使うケースは多い。 $ ls /etc/hoge/fuga/ $ cd !^ とか。!^が最初の引数、!$で最後、!:nでn番目、!*ですべ

    richard_raw
    richard_raw 2015/09/09
    "!$"はよく使ってますが、それ以外にも色々あるんですな。
  • Linuxでextglobを有効にして「指定したパターン以外のファイル」を指定する | 俺的備忘録 〜なんかいろいろ〜

    仕事などで日常的にLinuxを利用しているのであれば、ほぼ大半の人がglobを利用した事があるだろう。 globという名前にはあまり馴染みが無いかもしれないが、以下のようにワイルドカードや複数のファイル名を指定したりする機能は使ったことがあるはずだ。 例)「/work」フォルダ配下のファイルを「/work2」に移動する mv /work/* /work2/ 例)「/work」フォルダ配下の「aaa.txt」「bbb.txt」のみを削除する rm /work/{aaa.txt,bbb.txt} このような指定方法を可能にしているのがglobという機能になる。 そんなglobを拡張したのが、今回紹介するextglobだ。 このextglobを利用すると、globでは指定が難しかった事、例えば"特定のフォルダ以外を指定する"といった事が簡単に行える。 bashやzshで有効になっているかどうか確

    richard_raw
    richard_raw 2015/06/08
    パイプでOR指定できるのか。
  • シェルスクリプトを簡単にチェックできるShellCheck, Vimでも使える

    B! 119 0 0 0 前から気になってた ShellCheck を使ってシェルスクリプトや.bashrc等直してみました。 ShellCheck コマンドライン版 日語を含んだファイル Vimでは ShellCheck ShellCheck はシェルスクリプトの文法をチェックしてくれるオンラインサービスです。 ShellCheckのページに行って 試したいスクリプトを書き込むと文法をチェックして エラーや注意を表示してくれます。 指摘してくれるものとしては、明らかな文法違反な物は勿論、 実際にスクリプトを回して毎回エラーになるものでなくても、 変数が空の場合に""で囲ってないとエラーになる場合なども チェックしてくれるので思わぬ事故も防いでくれます。 コマンドライン版 ShellCheckのソースコードはGitHubで公開されていて、 さらにコマンドライン版のshellcheckを使

    シェルスクリプトを簡単にチェックできるShellCheck, Vimでも使える
    richard_raw
    richard_raw 2014/11/28
    おお、これは便利かも!……Windowsで使うのは難しいか。
  • Zsh + Prezto で快適コマンド環境を構築する | DevelopersIO

    Prezto 今回はコマンドライン環境の話です。私は以前より oh-my-zsh を利用していましたが、テーマの調子が悪かったので Prezto に乗り換えてみました。結構快適だったので、いまは Prezto を使っています。 稿では Zsh + Prezto で快適なコマンドライン環境を構築する方法について簡単ですがご紹介します。 Zsh + Prezto 環境を構築する 環境構築の手順については README に書いてありますので、手順通り進めれば問題なく環境づくりができると思います。なお、コマンド実行すると .zlogin .zlogout .zprofile .zshenv .zshrc のシンボリックリンクを貼るので、oh-my-zsh から乗り換える場合など、既存の Zsh 環境を引き継ぎたい場合は各設定ファイルを退避させておきましょう。 // Zsh起動 $ zsh //

    Zsh + Prezto で快適コマンド環境を構築する | DevelopersIO
    richard_raw
    richard_raw 2014/09/01
    漢のzshで入門したっきりでoh-my-zshとか見向きもしなかった私……。Preztoを試してみようかしら。
  • Zsh 入門者のための超速設定ガイド - Qiita

    はじめに このガイドでは、はじめて Zsh を使う人や Zsh の便利な使い方を知らない人に向けて、いくつかの便利な設定と操作方法を紹介します。また、 Zsh についての疑問を素早く解決できるよう、マニュアルの調べ方や他のドキュメントへのリンクも盛り込んであります。 このガイドでカバーしきれていない設定や分かりやすいドキュメントをご存知でしたら、ぜひ編集リクエストやコメントでお知らせください。 設定ファイル ここでは主に普段のキー入力数を大幅に減らせるような設定を紹介します。 .zshrc ~/.zshrc は Zsh のインタラクティブシェル(ユーザーがコマンドを入力する画面)が起動した際に読み込まれる設定ファイルです。 Zsh スクリプトを実行したり、 zsh -c 'command...' でコマンドを実行したりしたときには読み込まれません。このファイルには主に Zsh の操作に関す

    Zsh 入門者のための超速設定ガイド - Qiita
    richard_raw
    richard_raw 2014/02/03
    自分は「漢のzsh」の設定で満足しちゃってるなあ……。
  • Macで時間のかかるコマンドが終わったら、自動で通知するzsh設定 - Qiita

    概要 実行時間の長いコマンドが終わったら、Mac の Notification Center (Growl にするのも可能) で通知がくる。Terminal.app と iTerm 2 に対応している。 通知の様子。30秒を超えるコマンドが通知されている。 30秒を超えないコマンドでも、失敗したら通知される。 どちらもターミナルがバックグラウンドのときのみ通知される。長いコマンドを投げてから twitter とか見てたらいつのまにか時間が経ってしまうような人に便利。 設定 1. 準備 Notification Center に通知する場合 alloy/terminal-notifier をインストールする。コマンドから Notification Center に通知をするためのアプリ。 Releases から .app をインストールしてもよいし、Download にあるように RubyG

    Macで時間のかかるコマンドが終わったら、自動で通知するzsh設定 - Qiita
    richard_raw
    richard_raw 2014/01/29
    おお、通知センターに出す方法ですか。
  • シェルスクリプトのデバッグは typeset または declare を使うと良いかも - よんちゅBlog

    はじめに つい最近知った便利なデバッグ方法 (長年シェルスクリプトを書いているのに知らなかった。これが常識だったら恥ずかしい…) シェルスクリプトのデバッグでは echo で変数の中身を見るという原始的な方法をよく使うかと思います。 いわゆる プリントデバッグ というやつですね。 もう少し詳しいデバッグが必要な場合は、 set -x と set +x でデバッグしたい部分を囲むという方法もあります。 今回は プリントデバッグ で使う echo の代わりに typeset or declare を使うと良いというお話です。 プリントデバッグは typeset or declare を使おう typeset or declare は変数宣言などでよく使うコマンドですが、変数の中身を見るのにも使えます。 echo と比べて何が良いのかというと、変数の中身はもちろん変数名や変数の型も表示してくれ、

    シェルスクリプトのデバッグは typeset または declare を使うと良いかも - よんちゅBlog
    richard_raw
    richard_raw 2013/07/10
    "set +x" 一辺倒なのが私です。declareは使ったことなかった……。そしてzshの変数展開は複雑だなあ。
  • Why Zsh is Cooler than Your Shell

    Z shell (zsh) provides many powerful features out of the box that can make the shell experience more efficient and productive compared to other shells like bash. Zsh includes advanced tab completion for commands like git, path expansion and replacement, right-hand prompts, spelling correction, powerful aliases, extended globbing, environment variable editing, and programmable file renaming. It als

    Why Zsh is Cooler than Your Shell
    richard_raw
    richard_raw 2013/05/12
    path replacement知らんかった!もしかしてcdする度にawkが動いているのはそのため……?
  • zshのalias -s (suffix alias)が神な件 - プログラムモグモグ

    まず, 他のシェルをお使いの人にはごめんなさい. aliasコマンドの-sが使えるのは zsh 4.2.x- で, 他のシェルでは実装されていないと思います. あと, もう既に alias -s 知ってるよーって人は読まなくていいです. alias -s って何? 打ったコマンドの後ろ(suffix)を見て, 適当に宜しくやってくれるやつです. 次の例を見て下さい. ~$ echo "print ('hello, world')" > hello.py ~$ python hello.py hello, world ~$ alias -s py=python py=python ~$ ./hello.py hello, world ~$ Pythonのコードは python hello.py で実行出来ますが, お尻が py なら python を使います, とaliasしておけば, ./

    zshのalias -s (suffix alias)が神な件 - プログラムモグモグ
    richard_raw
    richard_raw 2013/03/01
    GUIのダブルクリックみたいなもんですかね。便利過ぎる……。
  • 簡単に手元でHTTPのファイルサーバ立てる方法 - かみぽわーる

    .zshrcにstatic_httpdって関数つくってる。 dotfiles/.zshrc at master · kamipo/dotfiles · GitHub function static_httpd { if type plackup > /dev/null; then plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root => ".")->to_app' elif type ruby > /dev/null; then if ruby -v | grep -qm1 'ruby 2\.'; then ruby -run -e httpd -- --port=5000 . else ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port => 5000, :D

    簡単に手元でHTTPのファイルサーバ立てる方法 - かみぽわーる
    richard_raw
    richard_raw 2013/02/21
    Ruby (webrick), Perl (plack), Python (SimpleHTTPServer or http.server), Erlangで簡易サーバーを立てるzsh関数。
  • Zshをかわいくする.zshrcの設定 - Qiita

    はじめに 仕事などで触っている時間が長いのがエディター、それとシェルです。 今回はそんな触っている時間が長いシェル、かつその中でもZshをかわいくする方法を書いていきます。 なお、この記事は以下の記事を参考にしています。 可愛いzshの作り方 - プログラムモグモグ 完成形 以下の画像の通りとなります。かわいいですね。頑張っている様子が見受けられます。 ちなみに、顔文字のモチーフは過去所属していた会社の社内IRCに住み着いていたunazu_kunというbotが元となっています。 プロンプトで使うための関数定義 設定はそれぞれ関数に切り出して各プロンプト内でevalして使う形にすると見やすいかなと思っています。 以下の3つの関数は .zshrc 内に羅列しても構いません。

    Zshをかわいくする.zshrcの設定 - Qiita
    richard_raw
    richard_raw 2013/01/24
    顔文字!家のMacでやってみます。
  • 近頃の開発環境 : Mosh、z、tmux、Emacs、Perl について - naoyaのはてなダイアリー

    昨日は年始の挨拶ついでに ELPA について脈絡もなく突然書きましたが、引き続き近頃の開発環境についてもだらだらと書いてみよう。 Mosh mosh というと一部の人間はひげなんとかさんが開発しているモナー的なあれを思い浮かべるかもしれないがそうではなく、mobile shell のことである。 思い切り簡略化して言うと「快適なssh」。回線が不安定な所でもエコー遅延など全く気にせず使えるし、Mac をスリープさせて復帰させたときもリモートホストにそのまま繋がりっぱなしのように見せかけてくれたりする。 詳しくはこの辺を。 mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記 インストールはリモートとローカル両方に必要ですが、まあ大概パッケージがあると思います。EC2 の Amazon Linux でも yum レポジトリの EPEL を有効にすれば y

    近頃の開発環境 : Mosh、z、tmux、Emacs、Perl について - naoyaのはてなダイアリー
    richard_raw
    richard_raw 2013/01/09
    zとtmuxは使ってみたいです。
  • zshでサブコマンドとファイル名を手抜き補完する - Glide Note

    hoge[tab]でサブコマンドが補完され、 サブコマンドの後はファイル、ディレクトリが補完されるように。 サブコマンドとファイル名を補完する 下記を.zshrcに記載してexec $SHELL やっていることは compdefで_hogecmdという補完用functionを定義し、hogeコマンドを実行したときに呼び出されるように。 function内のcmdsで補完したいサブコマンドを列挙 CURRENT == 2でhogeのあとに補完されるのはサブコマンドだけと指定 _describeで補完候補で表示されるときにsubcommandというグループになるようにしている サブコマンドのあとは_filesでファイルとディレクトリが補完されるように 参考になるサイト zshの補完関数の書き方がまとまっているところがほとんど無いので下記が非常参考になります。 zsh補完関数を自作すると便利 -

    richard_raw
    richard_raw 2012/05/07
    おお、結構かんたんに出来るんですな。
  • おすすめzsh設定 - 2011-09-05 - ククログ

    他の人がzshを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のzshのおすすめ設定をここに記しておきます。 もし、Emacsも使っている場合はおすすめEmacs設定もどうぞ。 ディレクトリ構成 長年漬け込んできたzshの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。主に、zsh標準機能の設定と追加パッケージの設定を分けるためにこうしています。 ~ ├── .zshrc # シェルを起動する毎に読み込まれる。 │ # ~/.zsh.d/zshrcを読み込んで │ # 標準機能の追加設定を行う。 ├── .zshenv # ログイン時に一度だけ読み込まれる。 │ # ~/.zsh.d/zshenvを読み込ん

    おすすめzsh設定 - 2011-09-05 - ククログ
    richard_raw
    richard_raw 2011/09/05
    これは便利そう!帰宅したら設定します。
  • zshで究極のオペレーションを 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    zshで究極のオペレーションを 記事一覧 | gihyo.jp
    richard_raw
    richard_raw 2010/11/17
    tumblrで回ってきたのでブックマーク。
  • 上に行くcd作った - hitode909の日記

    シェルで,上のディレクトリに行くのがめんどくさくて,cd ../../../../とかしないといけなくて,指を痛める. 上に行くためのupっていうコマンドを作ることにした. その1 up 3ってやると,3つ上に行くのを作った. function up() { i=0 while [ $i -lt $1 ] do cd ../ i=`expr $i + 1` done } 使い方 % pwd /Users/fkd/co/dev/dotfiles % up 3 % pwd /Users/fkd %これは使いにくくて,cd ../../って打つときは,いくつ上に行くか考えながら,../って打ってる.これだと,先に数えておかないといけなくて,難しかった. その2 考えながら入力できるようにしてみた.引数の数だけ見る. function up() { i=0 while [ $i -lt $# ]

    上に行くcd作った - hitode909の日記
    richard_raw
    richard_raw 2010/10/03
    エイリアスより工夫のしがいがありますね。
  • 1