xyzsh ã·ã§ã«ã¹ã¯ãªããè¨èª ãã®ã½ããã¦ã§ã¢ã¯ãªãã§ããï¼ ã¤ã³ã¿ã©ã¯ãã£ãã·ã§ã«ãOSX, cygwin, Linux, FreeBSDã§åãã¾ãã ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ãã¤ãã¦ãã¦ãç°¡æãªãªãã¸ã§ã¯ãæåãã§ãã¾ããperlãrubyã®ãããªããã¹ãå¦çãè¡ãªãå é¨ã³ãã³ããè£ åãã¦ãã¾ããå ¨ã¦ã®å é¨ã³ãã³ãã«ã¯ãµã³ãã«ä»ãã®ãã«ããã¤ãã¦ãã¾ããè£å®ã¯èªèº«ã«ãã£ã¦è¨è¿°ããã¦ãã¦ãIDEã®ããã«xyzshã®ææ³ã«åºã¥ãã¦è£å®ããã¾ããmigemoã«ããæ¥æ¬èªãã¡ã¤ã«åã®è£å®ãããã¾ãã ãµã³ãã« > ls -F docs/ main.c samples/ sub.c > ls | each ( | chomp | -d && | print ) docs samples > ls -F | grep -v / main.c sub.c > ls | each ( ! | chomp | -d && | print ) main.c sub.c > ls | each ( | printf "-+- %s -+-"\n ) | join " " -+- docs -+- -+- main -+- -+- samples -+- -+- sub.c -+- > ls | each ( | scan . | join " " ) d o c s m a i n . c s a m p l e s s u b . c > cat data Gorou Yamanaka Rei Tanaka Yumiko Shiratori > cat data | each ( | =~ Yamanaka && | print ) Gorou Yamanaka > cat data | lines 0 1 Gorou Yamanaka Rei Tanaka > cat data | each ( | split | lines 1 0 | join ) Yamanaka Gorou Tanaka Rei Shiratori Yumiko > vim student.xyzsh class Student ( | var first_name second_name age country def show ( var first_name second_name age country | printf "name: %s %s?nage: %s?ncountry: %s?n" ) ) object student student::run ( print "Yamanaka Gorou 23 Japan" | split | Student ) > load student.xyzsh > student::show name: Yamanaka Gorou age: 23 country: Japan > ls | scan . | while(| eval "|${I=1} print |>") (|> join ""; ++ I ) A UT HOR SCHA NGELO GLICEN SEMakef ileMakef ile.inREA DMEREADME. jaUSAGEUSAG E.jacompleti on.xyzshconfi g.hconfig.h.in config.logconfi g.statusconfigur econfigure.inhelp .xyzshinstall.shli bxyzsh.1.7.0.dylibl ibxyzsh.1.dyliblibxy zsh.dylibmanread_hist ory.xyzshsrcxyzshxyzsh .dSYMxyzsh.xyzsh > ls | lines 0 1 | scan . | each ( | chomp | x 5 | pomch ) AAAAA UUUUU TTTTT HHHHH OOOOO RRRRR SSSSS CCCCC HHHHH AAAAA NNNNN GGGGG EEEEE LLLLL OOOOO GGGGG ã³ã³ãã¤ã«ã¨ãã¹ããè¡ã£ãOS OSX 10.8.0 FreeBSD 7.1-RELEASE-p16 CentOS 5.8 Oracle Solaris 11 Express Fedora18 ä½è ã«ã¤ã㦠ab25(ab25cq@gmail.com) 注æ ãã®ã½ããã¦ã§ã¢ã¯èªåã®è²¬ä»»ã«ããã¦å®è¡ãã¦ãã ãããå®è¡ã«è¢«ãçµæã«ã¤ãã¦ä½è ã¯è²¬ä»»ãåãã¾ããã ã¤ã³ã¹ãã¼ã«æ¹æ³ æåã«ä»¥ä¸ã®ã©ã¤ãã©ãªãã½ããã¦ã§ã¢ãã¤ã³ã¹ãã¼ã«ãã¦ãã ããã ããã±ã¼ã¸ã¯éçºç(-devel. -devãªã©)ãããã°ããã¡ããå¿ è¦ã¨ãªãã¾ãã gcc GNU make libc libm ncurses(w) editline oniguruma iconv ncursesã¯ncurseswã§ãªãã¨ç«¯æ«å¶å¾¡ããã¨ãã«æ¥æ¬èªãæ±ãã¾ããã ã¤ã³ã¹ãã¼ã«ããã以ä¸ãå®è¡ãã¦ãã ãã ./configure --with-optimize make sudo make install ã¾ã㯠./configure --with-optimize make su make install exit ããã©ã«ãã§ã¯/usr/local/bin以ä¸ã«ã¤ã³ã¹ãã¼ã«ããã¾ãããã£ã¦make installã«ã¯ç®¡çè 権éãå¿ è¦ã¨ãªãã¾ãã ããã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªãå¤ãããå ´åã¯ä»¥ä¸ãã¿ã¤ããã¦ãã ããã ./configure --prefix=??? --with-optimize make sudo make install ããããã©ã«ãã§ã¤ã³ã¹ãã¼ã«ããã°ãå®è¡ãã¡ã¤ã«ã¯/usr/local/bin, è¨å®ãã¡ã¤ã«ã¯/usr/local/etc/xyzshã«ã¤ã³ã¹ãã¼ã«ããã¾ãã configure ãªãã·ã§ã³ã¯ä»¥ä¸ --prefix ã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªãæå®ãã¾ãã--prefix=$HOMEã¨ããã°ãã¼ã ãã£ã¬ã¯ããªã«ã¤ã³ã¹ãã¼ã«ããã¾ãã ãã®å ´åã¯ç®¡çè 権éã¯å¿ è¦ããã¾ããã --with-optimize ã³ã¼ãã®æé©åãè¡ããªãã·ã§ã³ã§ããå®è¡é度ã®éãããã°ã©ã ãä½æããã¾ããã¤ããã»ããè¯ãã§ãããã --with-onig-dir /usrã/usr/localã«é¬¼è»ãã¤ã³ã¹ãã¼ã«ããã¦ããªãå ´åã鬼è»ãã¤ã³ã¹ãã¼ã«ããã¦ãããã£ã¬ã¯ããªãæå®ãã¾ãã] 管çè 権éããªãå ´åã«ã·ã¹ãã 管çè ã鬼è»ãã¤ã³ã¹ãã¼ã«ãã¦ããªãæããã¼ã ãã£ã¬ã¯ããªã«é¬¼è»ãèªå㧠ã³ã³ãã¤ã«ãã¦ã¤ã³ã¹ãã¼ã«ãã¦ãããã§$HOMEãæå®ããã°ç®¡çè 権éããªãã¦ãxyzshãã¤ã³ã¹ãã¼ã«ã§ãã¾ãã --with-editline-dir /usrã/usr/localã«editlineãã¤ã³ã¹ãã¼ã«ããã¦ããªãå ´å editlineãã¤ã³ã¹ãã¼ã«ããã¦ãããã£ã¬ã¯ããªãæå®ãã¾ãã --with-debug ãããã°ã¢ã¼ãã®ããã°ã©ã ãä½æã-gãªãã·ã§ã³ãã¤ãã¦gccãå®è¡ãã¾ãã gdbã§ãããã°ãã§ããããã«ãªãã¾ããã¾ãxyzshèªèº«ã®ã¡ã¢ãªã¼ãªã¼ã¯æ¤åºæ©è½ãæå¹ã«ãã¾ãã --with-gprof-debug ãããã°ã¢ã¼ãã®ããã°ã©ã ãä½æã-pgãªãã·ã§ã³ãã¤ãã¦gccãå®è¡ãã¾ãã gprofã§ãããã¡ã¤ã«ãå¯è½ã«ãªãã¾ãã(é¢æ°ãã¨ã®å®è¡é度ã®è©ä¾¡ãè¡ã) --with-static éçã©ã¤ãã©ãªãä½æãã¾ããå®è¡ããã°ã©ã ãéçã«ãªã³ã¯ããåçã©ã¤ãã©ãªã¯å¿ è¦ãªããªãã¾ãã é常ã§ã¯å¿ è¦ããªãã¯ãã§ãã æ¥æ¬äººåãã®ãªãã·ã§ã³ --with-migemo migemoãªãã¸ã§ã¯ããCæ¡å¼µã©ã¤ãã©ãªã¨ãã¦ä½æãã¾ãã --with-migemo-dir ããã©ã«ãã§ã¯/usr, /usr/localã§æ¤ç´¢ãããmigemoã®ã¤ã³ã¹ãã¼ã«å ãæå®ãã¾ãã ããã管çè 権éããªãå ´åã§èªåã®ãã¼ã ãã£ã¬ã¯ããªã«migemoãã¤ã³ã¹ãã¼ã«ããå ´åã«ã¯å¿ è¦ã«ãªãã§ãããã --with-system-migemodir migemoã®è¾æ¸ãã¤ã³ã¹ãã¼ã«ããããã£ã¬ã¯ããªãæå®ãã¾ãã é常ã§ã¯Fedoraã§ã¤ã³ã¹ãã¼ã«ããã/usr/share/migemoãæ³å®ãã¦ãã¾ãã èªåã§migemoãã³ã³ãã¤ã«ããå ´åã¯ããã§/usr/local/share/migemoãªã©ãå¿ è¦ã«ãªãã¾ãã xyzshã¯ã©ã¤ãã©ãªãä½æããã®ã§ã©ã¤ãã©ãªãä½æããããã£ã¬ã¯ããª(é常ã¯/usr/local/lib)ã/etc/ld.so.confã«è¿½å ã㦠以ä¸ãå®è¡ããªãã¨ããã¾ããã/usr/local/libã¯æ¨æºã§ã¯ã©ã¤ãã©ãªã®æ¤ç´¢ãã¹ã«å ãã¦ãããªããã¨ãå¤ã 大æµã®ç°å¢(Linux)ã§ã¯ãã®ä½æ¥ãå¿ è¦ã«ãªãã¾ãã sudo ldconfig ããã㯠su ldconfig exit ãã管çè 権éããªãå ´åã¯ãã®ä½æ¥ãè¡ããªãã®ã§ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ãªã©ã¨ã©ã¤ãã©ãªãã¤ã³ã¹ãã¼ã«ããããã£ã¬ã¯ããªãLD_LIBRARY_PATHã«è¿½å ãã¦ãã ããã(.bashrcãªã©ã«æ¸ã) ããã°ã©ã ãåçã©ã¤ãã©ãªããªã³ã¯ãã¦å®è¡ã§ããããã«ãªãã¾ãã ï¼åçã©ã¤ãã©ãªã®ããå ´æã決ã¾ããªãã¨xyzshã¯å®è¡ã§ããªã) OSXã§ã¯ OSXã§ã¯ldconfigã®è¨å®ã¯å¿ è¦ããã¾ãããã以ä¸ã®è¨å®ãå¿ è¦ã«ãªãã¾ãã export DYLD_LIBRARY_PATH=/usr/local/lib ~/.bashrcã«æ¸ãã¦ããã¦ãã ããã(ç¡ãã¦ãå®è¡ã§ããå ´åãããããmfiler4ã§migemoããã¼ãããã¨ãã®è¨å®ãç¡ãã¨åã®ç°å¢ã§ã¯mfiler4ãè½ã¡ã) xyzshã使ç¨ãããã¡ã¤ã« /usr/local/bin/xyzsh --> ããã°ã©ã æ¬ä½ /usr/local/share/doc/xyzsh/USAGE --> 使ãæ¹ã®è±è¨³ /usr/local/share/doc/xyzsh/USAGE.ja --> 使ãæ¹ /usr/local/share/doc/xyzsh/README --> ãã®ãã¡ã¤ã«ã®è±è¨³ /usr/local/share/doc/xyzsh/README.ja --> ãã®ãã¡ã¤ã« /usr/local/share/doc/xyzsh/CHANGELOG --> æ´æ°æ å ± /usr/local/share/man/man1/xyzsh.1 --> ããã¥ã¢ã«ãã¡ã¤ã« /usr/local/etc/xyzsh/xyzsh.xyzsh --> è¨å®ãã¡ã¤ã« /usr/local/etc/xyzsh/completion.xyzsh --> è£å®é¢ä¿ã®è¨å®ãã¡ã¤ã« /usr/local/etc/xyzsh/help.xyzsh --> ãã«ãé¢é£ã®è¨å®ãã¡ã¤ã« /usr/local/etc/xyzsh/read_history.xyzsh --> ã³ãã³ãã©ã¤ã³ã®ãã¹ããªãèªã¿è¾¼ãè¨å®ãã¡ã¤ã« /usr/local/lib/xyzsh/*.so --> xyzshã®Cæ¡å¼µã©ã¤ãã©ãª ~/.xyzsh/xyzsh.xyzsh --> /usr/local/etc/xyzsh.xyzshã®å¾ã«å¼ã°ããã¦ã¼ã¶ã¼ã®è¨å®ãã¡ã¤ã« ~/.xyzsh/history --> ã³ãã³ãã©ã¤ã³å±¥æ´ãä¿åããããã¡ã¤ã« ~/.xyzsh/macro --> ã³ãã³ãã©ã¤ã³ã§Control-xãæ¼ããå ´åã«è¡¨ç¤ºãããã¯ã³ã©ã¤ãã¼ã®ä¸è¦§ã ã¯ã³ã©ã¤ãã¼ã®å®è¡çµæãã³ãã³ãã©ã¤ã³ã«è²¼ãä»ããããã ãã®ãã¡ã¤ã«ã«ã¯ã³ã©ã¤ãã¼ã追å ãããã¨ã§cntrol-xãæ¼ãããã¨ãã«è¡¨ç¤ºãããä¸è¦§ã« ã¯ã³ã©ã¤ãã¼ã追å ãããã ~/.xyzsh/jump --> jumpå é¨ã³ãã³ããå®è¡ããã¨ãã«è¡¨ç¤ºãããã¸ã£ã³ãå ã®ãã£ã¬ã¯ããªä¸è¦§ ~/.xyzsh/menu --> menuå é¨ã³ãã³ããå®è¡ããã¨ãã«è¡¨ç¤ºãããã¯ã³ã©ã¤ãã¼ã®ä¸è¦§ã ~/.xyzsh/program --> sys::ãçç¥ãããå¤é¨ããã°ã©ã ã®ä¸è¦§ããã®ãã¡ã¤ã«ã«å¤é¨ããã°ã©ã åã追å ã㦠rehashã³ãã³ããå®è¡ããã°ãsys::ãçç¥ãããã¨ãã§ããããã«ãªãã ~/.xyzsh/lib/*.so --> ã¦ã¼ã¶ã¼ãã¤ã³ã¹ãã¼ã«ããxyzshã®Cæ¡å¼µã©ã¤ãã©ãª ã¨ã³ã³ã¼ãã¨æ¹è¡ã³ã¼ãã«ã¤ã㦠xyzshã¹ã¯ãªããã¯UTF-8ã¨ã³ã³ã¼ãã¨LFæ¹è¡ã³ã¼ãã使ã£ã¦æ¸ãããªããã°ãªãã¾ããã xyzshãæ±ãã¨ã³ã³ã¼ããæ¹è¡ã³ã¼ãã«ã¯UTF-8,EUCJP, SJIS, ByteãLF,CR,CRLFã使ãã¾ãã(ãªãã·ã§ã³ã§æå®ãã)ã 端æ«ã®ã¨ã³ã³ã¼ãã¯ByteãUTF-8ã§ãªããã°ããªãã¾ããã 使ãæ¹ > xyzsh ã¨bashãªã©ããå®è¡ããã°ã¤ã³ã¿ã©ã¯ãã£ãã·ã§ã«ãèµ·åãã¾ãã > xyzsh -c "command" ã¨ããã°ã³ãã³ããå®è¡ããã¾ãã > xyzsh ãã¡ã¤ã« ã¨ããã°ã¹ã¯ãªãããã¡ã¤ã«ãå®è¡ã§ãã¾ãã é å¸ãããã¢ã¼ã«ã¤ãã«å«ã¾ãããã¡ã¤ã« AUTHORS --> èè æ å ± CHANGELOG --> æ´æ°å±¥æ´ LINCENSE --> ã©ã¤ã³ã»ã³ã¹æ å ± Makefile.in --> Makefileã®å ã¨ãªããã¡ã¤ã«ã./configureã§ä½¿ããã README --> ãã®ãã¡ã¤ã«ã®è±èªç README.ja --> ãã®ãã¡ã¤ã« USAGE --> 使ãæ¹ã®è±èªç USAGE.ja --> 使ãæ¹ config.h.in --> ./configureã«ä½¿ããããã¡ã¤ã«ãconfig.hã®å ã¨ãªã configure --> ã¤ã³ã¹ãã¼ã«æã«å®è¡ãããããã°ã©ã ãOSã®ç¨®å¥ãªã©ãå¤å¥ããã configure.in --> configureã®å ã¨ãªã£ããã¡ã¤ã«ãautoconfã³ãã³ãã«ãã£ã¦conifugreãã¡ã¤ã«ã«å¤æããã install.sh --> configureããã°ã©ã ã«å¿ è¦ãªãã¡ã¤ã« src/xyzsh.h --> xyzshãããã¼ãã¡ã¤ã«ããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ããã¦-lxyzshãªãã·ã§ã³ãgccã«ã¤ããã°ãxyzshãçµã¿è¾¼ãã ããã°ã©ã ãä½æã§ãã¾ã xyzsh.xyzsh --> xyzshã©ã³ã¿ã¤ã ã¹ã¯ãªãã completion.xyzsh --> è£å®é¢ä¿ã®xyzshã©ã³ã¿ã¤ã ã¹ã¯ãªãã help.xyzsh --> xyzshã®ãã«ãç¨ã®ã¹ã¯ãªãã src/xyzsh --> ãããã¼ãå«ã¾ãããã£ã¬ã¯ã㪠src/block.c --> ã³ã¼ããæ ¼ç´ããblock_objé¢é£ã®å®è£ src/env.c --> å¤æ°ãå±éãã¦å®è¡æã®å¼æ°æ å ±ã«å±éããããã°ã©ã src/cmd_ary.c --> é åé¢é£ã®å é¨ã³ãã³ããå®ç¾©ããã¦ãã src/cmd_loop.c --> ã«ã¼ãé¢é£ã®å é¨ã³ãã³ããå®ç¾©ããã¦ãã src/cmd_base.c --> åºæ¬ã¨ãªãå é¨ã³ãã³ããå®ç¾©ããã¦ãã src/cmd_condition.c --> -ltãªã©æ¡ä»¶å¤å®ãè¡ãå é¨ã³ãã³ããå®è£ ããã¦ãã src/cmd_curses.c --> pãselectorãªã©ç«¯æ«å¶å¾¡ãè¡ãå é¨ã³ãã³ããå®è£ ããã¦ãã src/cmd_file.c --> ãã¡ã¤ã«æä½ãè¡ãå é¨ã³ãã³ããå®è£ ããã¦ãã src/cmd_num.c --> ååæ¼ç®ãè¡ãå é¨ã³ãã³ããå®è£ ããã¦ãã src/cmd_obj.c --> ãªãã¸ã§ã¯ãæåãè¡ãå é¨ã³ãã³ããå®è£ ããã¦ãããå¤æ°ãæ±ãã src/cmd_str.c --> æååå¦çãè¡ãå é¨ã³ãã³ããå®è£ ããã¦ããã src/curses.c --> 端æ«å¶å¾¡é¢é£ã®é¢æ°ãå®è£ ããã¦ãã src/debug.c --> ãªãªã¸ãã«ã®ãããã°ç¨ã®é¢æ°ãå®è£ ããã¦ãããã¡ã¢ãªãªã¼ã¯ã®æ¤åºãªã©ã src/gc.c --> xyzshã®ãªãã¸ã§ã¯ãã®ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã®å®è£ ã src/interface.c --> xyzshãçµã¿è¾¼ãã ããã°ã©ã ããå¼ã³åºãããã¤ã³ã¿ã¼ãã§ã¼ã¹é¢æ°ã®å®è£ ã src/kanji.c --> UTF-8ãSJIS, EUCJPãæ±ãã©ã¤ãã©ãªã®å®è£ ã src/main.c --> ã¡ã¤ã³é¢æ°ãå®ç¾©ããã¦ãã src/object.c --> ãã®ä»ã®ãªãã¸ã§ã¯ãã®å®è£ src/parser.c --> ãã¼ãµã¼æ¬ä½ src/obj_list.c --> ãªã¹ããªãã¸ã§ã¯ã src/obj_hash.c --> é£æ³é åãªãã¸ã§ã¯ã src/obj_string.c --> æååãªãã¸ã§ã¯ã src/obj_vector.c --> åçé åãªãã¸ã§ã¯ã src/obj_nfun.c --> å é¨é¢æ°ãªãã¸ã§ã¯ã src/obj_fd.c --> ãã¡ã¤ã«ãã£ã¹ã¯ãªãã¿ã¼ãªãã¸ã§ã¯ã src/obj_extprog.c --> å¤é¨ããã°ã©ã ãªãã¸ã§ã¯ã src/obj_completion.c --> è£å®ãªãã¸ã§ã¯ã src/obj_class.c --> ã¯ã©ã¹ãªãã¸ã§ã¯ã src/obj_fun.c --> é¢æ°ãªãã¸ã§ã¯ã src/obj_user.c --> ã¦ã¼ã¶ã¼ãªãã¸ã§ã¯ã src/xyzsh.c --> xyzshã®ãã®ä»ã®ã«ã¼ãã³ãéãã¦ãã src/editline.c --> editlineãæ±ã£ã¦ããã½ã¼ã¹ã src/run.c --> xyzshã®ã¡ã¤ã³ã¨ã³ã¸ã³ src/stack.c --> xyzshã®ã¹ã¿ãã¯ãæ±ãå®è£ ã src/editline/*.c --> editline C ã½ã¼ã¹ src/editline/*.h --> editline ãããã¼ src/load.c --> loadé¢é£ src/xfun.c --> ã«ã¹ã¿ãã¤ãºãããCã©ã¤ãã©ãªã®é¢æ° ã©ã¤ã³ã»ã³ã¹ MITã©ã¤ã³ã»ã³ã¹ã§ãã ãã®ã½ããã¦ã§ã¢ã¯editline(libedit)ã®ã½ã¼ã¹ãå«ã¿ã¾ãã