by shigemk2

当面は技術的なことしか書かない

fish

convert bash to fish

このあたりとかを参考に。 stackoverflow.com

unalias fish

fishにunaliasコマンドはない。aliasを外すには、 functions -e xxxxxxxx こう。 Unix Shells: Bash, Fish, Ksh, Tcsh, Zsh - Hyperpolyglot

fish /etc/profile

Fish is not a POSIX 1003.1 compatible shell. It does not read /etc/profile 要するに、/etc/profileは読めない。ので、proxy設定をごにょりたいときは/etc/environmentに設定を追加した。 github.com

fish shell random

fish random zsh/bashのように$RANDOM変数ではなく、randomという関数が用意されている。

unset fish

zshやbashでいうところのunsetってfishだとどうやるんだい。 こうやる。 set -e myvar # or set --erase myvar いい加減覚えたい。 How do I unset a variable in the fish shell? - Stack Overflow

reload fish config

reload fish config source ~/.config/fish/config.fish もうつかえないやつ(older than 2.1) . .config/fish/config.fish

fish shell one-liner for

for x in (seq 5); uuidgen >> (date +"%Y%m%d".csv); end こういうふうに書く。なお、;を省くと、以下のようなエラーに見舞われる。 for x in (seq 5) uuidgen >> (date +"%Y%m%d".csv) end Expected end of the statement, but instead found a redirectio…

for loop fish shell

なんかzshとか比べてすごい直感的になっている (seq 5)って書けば1 to 5でループできる。 for x in (seq 5); echo $x; end fish: Tutorial

rbenvとbundler(fish)

rbenv init - | source ちゃんと入れよう。挙動がおかしくなる。少なくとも、自分の場合はbundlerがシステムのほうになっていた。 www.qoosky.io

fish shell japanese document

例のやつ。レファレンス的に読む fish.rubikitch.com

fish pipeline

パイプライン fish.rubikitch.com

fish shell documentation

exec replaces the currently running shell with a new command. On successful completion, exec never returns. exec cannot be used inside a pipeline. どうしようか。 fish user documentation

golang ubuntu

なぞると良い。なお、fishではset -xを使うとgo envの設定を上書きできる(-xをつけないと上書き出来ない) Ubuntu · golang/go Wiki · GitHub

pecoでgit checkoutしたい fish-shellで

はてな記法でfishは使えない。 function peco-git-checkout git branch -a | peco | tr -d ' ' | read branch echo $branch if [ $branch ] if contains $branch "remotes/" set -l b (echo $branch | awk -F'/' '{print $3}') git checkout -b $b $branch e…

fish shell not contain

こういうの。NOT条件で文字列が含まれているかどうかをnot containsで調べることが出来る。 for i in ~/bin /usr/local/bin if not contains $i $PATH set PATH $PATH $i end end fish user documentation

fish shell install

github.com yumじゃ最新のは入らない。入らない。ので、make。 autoreconf --no-recursive [if building from Git] ./configure make [gmake on BSD] sudo make install

fish completion

complete -c myprog -s o -l output -a "yes no" こんなふうに書けばいいらしい。 fish: Documentation

psub

fish.rubikitch.com こういう書き方。プロセス置換と同等の機能を持つ。 diff (sort a.txt | psub) (sort b.txt | psub) たぶんbashでいうとこんな感じ diff $(sort a.txt) $(sort b.txt)

fish faq

zsh/bashに慣れすぎてて使われている予約語が微妙に違うことに気づく。やばい。これってもしかしてコピペに慣れすぎているからなのだろうか。 fish: Frequently asked questions

fishの&& ||

and/orとか、;を使うこと。 superuser.com

oh-my-fishでgitのaliasってあったっけ

oh-my-zshのgitプラグインみたいなやつ。 結論からいうと、なかった。というか、前にそんな感じのPRが投げられていたけど、なかった。they are also fairly personal って言われてるけど、およそalias関係って万人が使いやすいaliasって存在しないから、今後…

omf install

oh-my-fishのプラグインのインストール。

fishにおけるビックリマーク2つ/ビックリマーク+ドルマーク: history expansionサポート

ググラビリティ低いぞ!この機能は、history expansionというらしい。 わからんので、SOに質問してみた。 stackoverflow.com bash/zshで出来る!!と!$が、fishできないのはなんで? $ sleep 1 $ echo !$ # !$ equals 1 $ echo !! # !! equals sleep 1 これがf…

set path in fish

github.com

OracleをDockerコンテナで使えるようにしたい(Ubuntu/fish-shell) SQLグラフ理論のサンプルコードを実行できるようにしたい人生だった

12cじゃなくて11gなんだけど、まあいいか。 環境 Ubuntu 16.04 fish 2.2.0 流れ sqlplusを使えるようにすること OracleのDockerコンテナを立ち上げること sqlplusを使えるようにすること(fish shell) これについては各所で言われているので、詳細は省きます…

fish shellのシンタックスハイライト

こう打って、 Ctrl + f か →を押すと、こうなる。 qiita.com

fish memo

peco関係。 function peco command peco --layout=bottom-up $argv end function peco_select_history if set -q $argv history | peco | read line; commandline $line else history | peco --query $argv | read line; commandline $line end end function…

fish peco

pecoの結果を下から表示させる奴 function peco command peco --layout=bottom-up $argv end

zsh to fish、もろもろのメモ

慣れ親しむことが目的なので、fishermanは入れていません。oh-my-fishを使っています。 zshとくらべてよいところ 補完がさらに優秀になっている zshとの変更点 export → set && → ; and || → ; or bindKey → bind 環境 cat /etc/lsb-release DISTRIB_ID=Ubun…

fish shell(後で試す)

後で試す。 fishshell.com