CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Friendly interactive shell - Wikipedia

Friendly interactive shell

出典: フリー百科事典『ウィキペディア(Wikipedia)』

fishfriendly interactive shell)とはUNIXにおけるシェルの一つである。

目次

[編集] 概要

fishは対話利用や発見性、そしてユーザフレンドリの点に重きを置いている。fishの最終目標は簡単に発見し、覚え、利用できる強力な機能を提供することである。fishのタブ補完機能はユーザフレンドリで強力、そして全ての補完に対して簡易な説明を用意しており、ワイルドカードの利用や、明示的にコマンドの補完を行うことが出来る。また、拡張性や補助機能を備えている。特別なヘルプコマンドでは、ユーザの設定したウェブブラウザにて全てのfishドキュメントへアクセスが可能である。

[編集] 文法

fishの文法は他のシェルスクリプト言語と少し異なる。これらの変更は言語を容易に学習できるように、そして言語を強力にしている。fishとbashに代表する他のシェルスクリプト言語との明確な違いは、変数はトークンを必要としない。これはすなわち、引用符を用いて文字列を囲むということを滅多にしないのである。

# 変数代入: 変数fooに対しbarという値をセットする。
# ここで=演算子を使ってはならない。これは空白文字によって判別される。
# 加えてsetコマンドは配列やスコープなどと拡張して使うことが出来る。
> set foo bar
> echo $foo
bar

# コマンド代入: 変数wdに対してpwdコマンドを代入する。
# ここで``を使ってはならない。これはネストが出来ない上、と非常に紛らわしいからである。
# それから$()も使ってはならない。fishに於いて$は変数を拡張するときのみ利用される。
> set wd (pwd)
> echo $wd
~

# 配列変数: 変数Aに対して、3, 5, 7, 9, 12という値を配列として代入する。
> set A 3 5 7 9 12     
> echo $A[(seq 3)] 
3 5 7
# 配列分割: 変数Bは、変数Aの1つ目と2つ目の値である。
> set B $A[1 2]          
> echo $b
3 5
# 変数Aの3つ目と5つ目の要素を削除する。
> set -e A[$B]; echo $A  
3 5 9

# forループ: JPEGからPNGへ変換する。
> for i in *.jpg; convert $i (basename $i .jpeg).png; end

# whileループ: /etc/passwdを読み込み、コロンで区切られた5番目を出力する。
# これはユーザの記述である。
> cat /etc/passwd|while read line; set arr (echo $line|tr : \n); echo $arr[5]; end

fishと他のシェルスクリプト言語との重要な違いの一つに、サブシェルの有無がある。他の言語に於いてパイプラインや関数、ループのような沢山のタスクはサブシェルを呼ぶことで実装している。サブシェルは親プログラムのために1-2個のコマンドを実行し終了する、シンプルな子プログラムである。しかしこの変更は、サブシェルの如何なる変化もメインシェルへ与えない。これはすなわち、変数の代入や多くのビルトイン関数が期待通りに動作しないのである。fishはサブシェルを決して呼ばず、それゆえ多くのビルトイン関数が完全に動作するのである。

# これは多くの他のシェルでは動作しない。
# これはreadコマンドがビルトイン関数だからである。
# サブシェルの中で動作するため、fishとzshで期待通り動く。
> cat *.txt | read line

[編集] 親切なヘルプメッセージ

fishに於けるエラーメッセージは、何が間違っていたのか、どうすればいいのかを実際にユーザへ伝えるように設計されている。

> foo=bar
fish: foo=bar というコマンドはありません。もしかしたら“set 変数 値”と
いう意味ですか? 変数値を設定する情報を見るためには、“help set”と入力
し、ヘルプセクションを見て下さい。

> echo ${foo}bar
fish: {$変数名}という意味ですか? 文字$は変数の初めに用います。$に続く
ブラケットは変数名の一部としては許可されておらず、変数名が0文字になって
しまいます。fishに於ける変数展開についての情報は“help expand-variable”
を入力して下さい。

> echo $(pwd)
fish: (コマンド)という意味ですか? fishに於いて文字$は変数値を利用する
ときのみ利用します。fishに於けるコマンド代用に関する情報は、“help
expand-command-substitution”を見て下さい。

[編集] ユニバーサル変数

fishは、ユーザが複数のfishシェルに対して横断的で永久に変数値を設定できる、ユニバーサル変数として知られる機能を持っている。この変数はログアウトか再起動するまで有効で、反映は全ての動作しているシェルに対して即座に行われる。

# デフォルトのテキストエディタをemacsに設定する。
# -Uオプションによってユニバーサル変数として扱う。
> set -U EDITOR emacs

# このコマンドは、全てのfishシェルに対してプロンプトを青色に設定するもの
# である。
> set -U fish_color_cwd blue

[編集] 他の機能

  • 拡張タブ補完(Advanced tab completion
  • 拡張エラーチェックとシンタックスハイライト(Syntax highlighting with extensive error checking
  • Xクリップボードのサポート(Support for X clipboard
  • terminfoに基づくターミナルハンドリング(Smart terminal handling based on terminfo
  • 冗長可能なコマンドヒストリ(Searchable command history

[編集] 外部リンク

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com