Venlig interaktiv skal
| Venlig interaktiv skal | ||
|---|---|---|
![]() | ||
|
| ||
| Generel information | ||
| programtype | UNIX Shell | |
| Forfatter | Axel Liljencrantz | |
| Udvikler | Axel Liljencrantz | |
| Udviklingsmodel | Åben | |
| Første udgivelse | 13. februar 2005 | |
| Licens | GPLv2 | |
| Faktisk tilstand | Aktiv | |
| Sprog | engelsk | |
| Teknisk information | ||
| Planlagt ind | ||
| Understøttede platforme | multi platform | |
| Versioner | ||
| Seneste stabile version | 3.1.2 (29. april 2020 (2 år, 5 måneder og 20 dage) [ 1 ] ) | |
| Seneste version i test | 3.1b126. januar 2020 | |
| Links | ||
Venlig interaktiv skal (forkortet fisk ) er navnet på en Unix-skal , der er beregnet til at være interaktiv og brugervenlig i modsætning til andre skaller . Designmålet med fisk er at give brugeren et mangfoldigt sæt af kraftfulde funktioner på en måde, der er nem at opdage, huske og bruge. [ 2 ] fisk betragtes som en " eksotisk skal ", da dens syntaks hverken stammer fra en "Bourne-skal" ( ksh , bash , zsh ) eller fra nogen "C-skal" ( csh , tcsh ). I modsætning til andre skaller , der deaktiverer nogle funktioner for at spare systemressourcer, aktiverer fish alle funktioner som standard.
Andre funktioner
- Avanceret færdiggørelse af fanen.
- Syntaksfremhævning med omfattende fejlkontrol.
- X udklipsholder understøttelse .
- Smart terminalhåndtering baseret på terminfo .
- Kommandohistorik søgning .
Version 2 tilføjer:
- autoforslag
- 256 terminalfarver
- Web-baseret konfiguration
- Ydeevneforbedringer (ved at have flere integrerede moduler).
Syntaks
Syntaksen ligner en POSIX -kompatibel shell (såsom Bash), men afviger på vigtige måder, hvor skaberne mener, at POSIX-skallen var dårligt designet. [ 3 ]
Der er ingen implicit subshell
Nogle konstruktioner af sproget, såsom pipelines , funktioner og loops , er blevet implementeret ved hjælp af de såkaldte subshells i andre shell -sprog . Subshells er simpelthen underordnede programmer, der kører nogle kommandoer for skallen og derefter afslutter. Desværre har denne implementeringsdetalje ofte den bivirkning, at eventuelle tilstandsændringer foretaget i subshellen, såsom variabeltildeling, ikke forplantes til hovedskallen, hvilket kan overraske brugeren. Fisk gafler aldrig såkaldte subshells; alle indbyggede funktioner er altid fuldt funktionelle.
# Dette vil ikke fungere i mange andre skaller, da den indbyggede 'læs'
vil # køre i sin egen underskal. I Bash kan højre side af #-røret
ikke have bivirkninger. I ksh virker følgende kommando, men
# venstre side kan ikke have nogen bivirkninger. I fisk og zsh kan begge
# sider have bivirkninger.
> kat *.txt | læse linje
Eksempel på variabel tildeling
Dette Bash-eksempel gør ikke, hvad det lyder som: da loop-legemet er en subshell, er opdateringen af $foundikke vedvarende.
fundet = ''
kat /etc/fstab | mens du læser dev mnt hvile ; gør
hvis test " $mnt " = "/" ; derefter
fundet = " $dev "
fi
færdig
Løsning:
fundet = ''
under læsning af dev mnt rest ; gør
hvis test " $mnt " = "/" ; derefter
fundet = " $dev "
fi
færdig </etc/fstab
Fisk behøver ikke en løsning:
sæt fundet ''
kat /etc/fstab | mens læs dev mnt rest
hvis test " $mnt " = "/"
sæt fundet $dev
end
end
Referencer
- ↑ fishshell.com Release Notes for fish 3.1.2
- ↑ Ugentlige Linux-nyheder . Fisk - En brugervenlig skal. Hentet 2010-03-24.
- ↑ {cite web|last1=Paul|first1=Ryan|title=An In-Depth Look at Fish: The Friendly Interactive Shell|url= https://arstechnica Arkiveret 16. juli 2013 på Wayback Machine ..com/information - technology/2005/12/linux-20051218/2/|website= Ars Technica |access-date=10. marts 2015|quote=Posix-syntaksen har flere manglende eller dårligt implementerede funktioner, inklusive variabel omfang, matricer og funktioner. Af denne grund afviger fisk fra Posix-syntaksen flere vigtige steder.}}
