ã·ã§ã«ã§ï¼ä¸ã®ãã£ã¬ã¯ããªã«è¡ãã®ãããã©ãããã¦ï¼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 ../../ã£ã¦æã¤ã¨ãã¯ï¼ããã¤ä¸ã«è¡ããèããªããï¼../ã£ã¦æã£ã¦ãï¼ããã ã¨ï¼å ã«æ°ãã¦ãããªãã¨ãããªãã¦ï¼é£ããã£ãï¼
ãã®ï¼
èããªããå ¥åã§ããããã«ãã¦ã¿ãï¼å¼æ°ã®æ°ã ãè¦ãï¼
function up() { i=0 while [ $i -lt $# ] do cd ../ i=`expr $i + 1` done }
使ãæ¹
% pwd /Users/fkd/co/dev/dotfiles % up a a a % pwd /Users/fkd %
a a aã£ã¦ããã¨ï¼3ã¤ä¸ã«è¡ããã©ï¼ã©ãã«è¡ãã®ãåãããªããï¼ä½¿ãã«ããï¼
ãã®3
ä¸ã«è¡ãããã¨ãï¼è¡ãããå ´æã¯æ±ºã¾ã£ã¦ãã®ã ããï¼ãã£ã¬ã¯ããªåãå ¥åãããã¨ã«ããï¼æ®éã®cdã¯ã«ã¬ã³ããã£ã¬ã¯ããªããæ¢ããã©ï¼ããã¯ï¼pwdã«å«ã¾ãããã¹ããæ¢ãï¼
function up() { to=$(perl -le '$p=$ENV{PWD}."/";$d="/".$ARGV[0]."/";$r=rindex($p,$d);\ $r>=0 && print substr($p, 0, $r+length($d))' $1) if [ "$to" = "" ]; then echo "no such file or directory: $1" 1>&2 return 1 fi cd $to }
使ãæ¹
% pwd /Users/fkd/co/dev/dotfiles % up fkd % pwd /Users/fkd % up poepoepoe no such file or directory: poepoepoe %
zshã®è£å®é¢æ°ãæ¸ããï¼
#compdef up segments=$(perl -le '$p=$ENV{PWD};$p =~ tr/\// /; print $p') _arguments "1:first:($segments)"
大æåãå
ã«æ¥ãããããã©ï¼ã¾ãããã¨æãï¼
使ãæ¹
GitHubã«ç½®ããï¼
上に行くcd — Gist
upã¯ã·ã§ã«ã®é¢æ°ãªã®ã§ï¼.zshrcã§
source ~/co/gist/607290/up
ã¨ããã¦ï¼èªã¿è¾¼ãã§ããï¼
_upã¯zshã®è£å®é¢æ°ãªã®ã§ï¼~/.functions/ã£ã¦ãããã£ã¬ã¯ããªã«å
¥ãã¦ï¼.zshrcã«ï¼
fpath=(~/.functions ${fpath})
ã¨ãæ¸ãã¦ããï¼
é¢é£
ãããä¸ã«è¡ããã¤ï¼ããã便å©ãªã®ã§ï¼ä»åä½ã£ãã®ã¨ä½¿ããããã¨ããããï¼