Portál AbcLinuxu, 9. května 2025 13:34

fish shell 3.0.0

Byla vydána nová major verze 3.0.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání. Vyzkoušet předchozí verzi lze přímo ve webovém prohlížeči.

28.12.2018 23:55 | Ladislav Hagara | Nová verze


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

29.12.2018 11:30 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Odpovědět | Sbalit | Link | Blokovat | Admin
Napisane v C++.

A velkost (obidve dynamicke linkovane):
du -h /bin/bash ./fish
1,2M	/bin/bash
27M	./fish
Co je lepsie:
# (ba)sh
while [ 1 ]; do echo a; sleep 1; done

# fish
while [ 1 ]; echo a; sleep 1; end
29.12.2018 12:53 Petr
Rozbalit Rozbalit vše Re: fish shell 3.0.0
848K /bin/bash

844K /bin/zsh

1,5M /bin/fish

Co se dá dělat, koupil jsem si pro to druhý HDD
29.12.2018 13:32 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Tu rybu som kompiloval zo zdrojakov s defaulnym volbami. Aj tak 15MB je 15MB.

Ale ano. Ako to doplnovanie je cool.
29.12.2018 13:34 Petr
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Ale 1,5MB není 15MB. Baču zase pustili k počítači...
29.12.2018 13:54 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Ups. Zmylil som sa. U mna to je 27M, a nie 15M. 27MB vid tu: http://www.abclinuxu.cz/zpravicky/fish-shell-3.0.0#1
29.12.2018 13:56 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Aka verzia v /bin/fish?
29.12.2018 14:04 Petr
Rozbalit Rozbalit vše Re: fish shell 3.0.0
2.7.1

Čerstvě zkompilovaná 3.0.0-21 z gitu a s -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -fno-exceptions -Wextra -Wno-missing-field-initializers (tzn. výchozí PKGBUILD) to má 1.6 MB, tak nevím, co s tím vyvádíš.
29.12.2018 14:41 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Pouzita default dava 27MB (stable aj git):
  FISH_BUILD_VERSION = ''
  FISH_BUILD_VERSION = '3.0.0'
  CXX = 'g++'
  CXXFLAGS = '-g -O2 -fno-exceptions -Wextra -Wno-missing-field-initializers  '
  MKDIR_P = '/usr/bin/mkdir -p'
  MKDIR_P   obj
  CPPFLAGS = '-D_UNICODE=1 -DLOCALEDIR="/usr/local/share/locale" -DPREFIX=L"/usr/local" -DDATADIR=L"/usr/local/share" -DSYSCONFDIR=L"/usr/local/etc" -DBINDIR=L"/usr/local/bin" -DDOCDIR=L"/usr/local/share/doc/fish" -iquote. -iquote./src/ -DFISH_BUILD_VERSION="3.0.0"'
29.12.2018 15:02 Petr
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Slinkované oproti přibalené pcre2 nebo systémové? ;-)
29.12.2018 15:07 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
$ ldd fish
	linux-vdso.so.1 (0x00007ffd4dd8f000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f3211b3f000)
	libncurses.so.6 => /lib64/libncurses.so.6 (0x00007f3211916000)
	libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f32116e9000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f32114ca000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f32112c2000)
	libpcre2-32.so.0 => /lib64/libpcre2-32.so.0 (0x00007f321104d000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f3210cba000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f3210926000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f321070e000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f321034f000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3211d43000)
29.12.2018 15:44 Petr
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Porovnal jsem oboje binárky a u mě je rozdíl v tom, že verze z gitu sestavená podle návodu obsahuje debug symboly.

Vyplivne ti něco tohle?

readelf --debug-dump=info fish
29.12.2018 16:38 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Vystup prvych 200 riadkov (celkovy vystup ma 5 833 502 riadkov a velkost 286M).
Obsah .debug_info sekcie:

  Compilation Unit @ offset 0x0:
   Length:        0x22297 (32-bit)
   Verzia:        4
   Abbrev Offset: 0x0
   Veľkosť ukazovateľa: 8
 <0><b>: skrát. číslo: 206 (DW_TAG_compile_unit)
    <d>   DW_AT_producer    : (indirect string, offset: 0x22c74): GNU C++14 8.2.1 20181215 (Red Hat 8.2.1-6) -mtune=generic -march=x86-64 -g -O2 -fno-exceptions
    <11>   DW_AT_language    : 4	(C++)
    <12>   DW_AT_name        : (indirect string, offset: 0xdb25): src/autoload.cpp
    <16>   DW_AT_comp_dir    : (indirect string, offset: 0x24535): /home/dusan/src/fish-3.0.0
    <1a>   DW_AT_ranges      : 0x4220
    <1e>   DW_AT_low_pc      : 0x0
    <26>   DW_AT_stmt_list   : 0x0
 <1><2a>: skrát. číslo: 56 (DW_TAG_variable)
    <2b>   DW_AT_name        : (indirect string, offset: 0x1a020): program_invocation_name
    <2f>   DW_AT_decl_file   : 24
    <30>   DW_AT_decl_line   : 45
    <31>   DW_AT_decl_column : 14
    <32>   DW_AT_type        : <0x36>
    <36>   DW_AT_external    : 1
    <36>   DW_AT_declaration : 1
 <1><36>: skrát. číslo: 11 (DW_TAG_pointer_type)
    <37>   DW_AT_byte_size   : 8
    <38>   DW_AT_type        : <0x3c>
 <1><3c>: skrát. číslo: 71 (DW_TAG_base_type)
    <3d>   DW_AT_byte_size   : 1
    <3e>   DW_AT_encoding    : 6	(signed char)
    <3f>   DW_AT_name        : (indirect string, offset: 0xeee3): char
 <1><43>: skrát. číslo: 6 (DW_TAG_const_type)
    <44>   DW_AT_type        : <0x3c>
 <1><48>: skrát. číslo: 56 (DW_TAG_variable)
    <49>   DW_AT_name        : (indirect string, offset: 0xf6e4): program_invocation_short_name
    <4d>   DW_AT_decl_file   : 24
    <4e>   DW_AT_decl_line   : 46
    <4f>   DW_AT_decl_column : 14
    <50>   DW_AT_type        : <0x36>
    <54>   DW_AT_external    : 1
    <54>   DW_AT_declaration : 1
 <1><54>: skrát. číslo: 207 (DW_TAG_base_type)
    <56>   DW_AT_byte_size   : 4
    <57>   DW_AT_encoding    : 5	(signed)
    <58>   DW_AT_name        : int
 <1><5c>: skrát. číslo: 6 (DW_TAG_const_type)
    <5d>   DW_AT_type        : <0x54>
 <1><61>: skrát. číslo: 71 (DW_TAG_base_type)
    <62>   DW_AT_byte_size   : 1
    <63>   DW_AT_encoding    : 8	(unsigned char)
    <64>   DW_AT_name        : (indirect string, offset: 0xeeda): unsigned char
 <1><68>: skrát. číslo: 71 (DW_TAG_base_type)
    <69>   DW_AT_byte_size   : 2
    <6a>   DW_AT_encoding    : 7	(unsigned)
    <6b>   DW_AT_name        : (indirect string, offset: 0x23c3f): short unsigned int
 <1><6f>: skrát. číslo: 71 (DW_TAG_base_type)
    <70>   DW_AT_byte_size   : 4
    <71>   DW_AT_encoding    : 7	(unsigned)
    <72>   DW_AT_name        : (indirect string, offset: 0x309f7): unsigned int
 <1><76>: skrát. číslo: 71 (DW_TAG_base_type)
    <77>   DW_AT_byte_size   : 8
    <78>   DW_AT_encoding    : 7	(unsigned)
    <79>   DW_AT_name        : (indirect string, offset: 0x309f2): long unsigned int
 <1><7d>: skrát. číslo: 6 (DW_TAG_const_type)
    <7e>   DW_AT_type        : <0x76>
 <1><82>: skrát. číslo: 15 (DW_TAG_typedef)
    <83>   DW_AT_name        : (indirect string, offset: 0x28fea): __int8_t
    <87>   DW_AT_decl_file   : 25
    <88>   DW_AT_decl_line   : 36
    <89>   DW_AT_decl_column : 21
    <8a>   DW_AT_type        : <0x8e>
 <1><8e>: skrát. číslo: 71 (DW_TAG_base_type)
    <8f>   DW_AT_byte_size   : 1
    <90>   DW_AT_encoding    : 6	(signed char)
    <91>   DW_AT_name        : (indirect string, offset: 0xeedc): signed char
 <1><95>: skrát. číslo: 15 (DW_TAG_typedef)
    <96>   DW_AT_name        : (indirect string, offset: 0x3ebf): __uint8_t
    <9a>   DW_AT_decl_file   : 25
    <9b>   DW_AT_decl_line   : 37
    <9c>   DW_AT_decl_column : 23
    <9d>   DW_AT_type        : <0x61>
 <1><a1>: skrát. číslo: 15 (DW_TAG_typedef)
    <a2>   DW_AT_name        : (indirect string, offset: 0x38428): __int16_t
    <a6>   DW_AT_decl_file   : 25
    <a7>   DW_AT_decl_line   : 38
    <a8>   DW_AT_decl_column : 26
    <a9>   DW_AT_type        : <0xad>
 <1><ad>: skrát. číslo: 71 (DW_TAG_base_type)
    <ae>   DW_AT_byte_size   : 2
    <af>   DW_AT_encoding    : 5	(signed)
    <b0>   DW_AT_name        : (indirect string, offset: 0x31e07): short int
 <1><b4>: skrát. číslo: 6 (DW_TAG_const_type)
    <b5>   DW_AT_type        : <0xad>
 <1><b9>: skrát. číslo: 15 (DW_TAG_typedef)
    <ba>   DW_AT_name        : (indirect string, offset: 0x33653): __uint16_t
    <be>   DW_AT_decl_file   : 25
    <bf>   DW_AT_decl_line   : 39
    <c0>   DW_AT_decl_column : 28
    <c1>   DW_AT_type        : <0x68>
 <1><c5>: skrát. číslo: 15 (DW_TAG_typedef)
    <c6>   DW_AT_name        : (indirect string, offset: 0x2069e): __int32_t
    <ca>   DW_AT_decl_file   : 25
    <cb>   DW_AT_decl_line   : 40
    <cc>   DW_AT_decl_column : 20
    <cd>   DW_AT_type        : <0x54>
 <1><d1>: skrát. číslo: 6 (DW_TAG_const_type)
    <d2>   DW_AT_type        : <0xc5>
 <1><d6>: skrát. číslo: 15 (DW_TAG_typedef)
    <d7>   DW_AT_name        : (indirect string, offset: 0x1baaf): __uint32_t
    <db>   DW_AT_decl_file   : 25
    <dc>   DW_AT_decl_line   : 41
    <dd>   DW_AT_decl_column : 22
    <de>   DW_AT_type        : <0x6f>
 <1><e2>: skrát. číslo: 15 (DW_TAG_typedef)
    <e3>   DW_AT_name        : (indirect string, offset: 0x9f6d): __int64_t
    <e7>   DW_AT_decl_file   : 25
    <e8>   DW_AT_decl_line   : 43
    <e9>   DW_AT_decl_column : 25
    <ea>   DW_AT_type        : <0xee>
 <1><ee>: skrát. číslo: 71 (DW_TAG_base_type)
    <ef>   DW_AT_byte_size   : 8
    <f0>   DW_AT_encoding    : 5	(signed)
    <f1>   DW_AT_name        : (indirect string, offset: 0x3d692): long int
 <1><f5>: skrát. číslo: 6 (DW_TAG_const_type)
    <f6>   DW_AT_type        : <0xee>
 <1><fa>: skrát. číslo: 15 (DW_TAG_typedef)
    <fb>   DW_AT_name        : (indirect string, offset: 0x4965): __uint64_t
    <ff>   DW_AT_decl_file   : 25
    <100>   DW_AT_decl_line   : 44
    <101>   DW_AT_decl_column : 27
    <102>   DW_AT_type        : <0x76>
 <1><106>: skrát. číslo: 15 (DW_TAG_typedef)
    <107>   DW_AT_name        : (indirect string, offset: 0x3724a): __intmax_t
    <10b>   DW_AT_decl_file   : 25
    <10c>   DW_AT_decl_line   : 61
    <10d>   DW_AT_decl_column : 18
    <10e>   DW_AT_type        : <0xee>
 <1><112>: skrát. číslo: 15 (DW_TAG_typedef)
    <113>   DW_AT_name        : (indirect string, offset: 0x302dc): __uintmax_t
    <117>   DW_AT_decl_file   : 25
    <118>   DW_AT_decl_line   : 62
    <119>   DW_AT_decl_column : 27
    <11a>   DW_AT_type        : <0x76>
 <1><11e>: skrát. číslo: 15 (DW_TAG_typedef)
    <11f>   DW_AT_name        : (indirect string, offset: 0x2d6a4): __dev_t
    <123>   DW_AT_decl_file   : 25
    <124>   DW_AT_decl_line   : 133
    <125>   DW_AT_decl_column : 25
    <126>   DW_AT_type        : <0x76>
 <1><12a>: skrát. číslo: 15 (DW_TAG_typedef)
    <12b>   DW_AT_name        : (indirect string, offset: 0x32b55): __uid_t
    <12f>   DW_AT_decl_file   : 25
    <130>   DW_AT_decl_line   : 134
    <131>   DW_AT_decl_column : 25
    <132>   DW_AT_type        : <0x6f>
 <1><136>: skrát. číslo: 15 (DW_TAG_typedef)
    <137>   DW_AT_name        : (indirect string, offset: 0x2aae3): __gid_t
    <13b>   DW_AT_decl_file   : 25
    <13c>   DW_AT_decl_line   : 135
    <13d>   DW_AT_decl_column : 25
    <13e>   DW_AT_type        : <0x6f>
 <1><142>: skrát. číslo: 15 (DW_TAG_typedef)
    <143>   DW_AT_name        : (indirect string, offset: 0x3229f): __ino_t
    <147>   DW_AT_decl_file   : 25
    <148>   DW_AT_decl_line   : 136
    <149>   DW_AT_decl_column : 25
    <14a>   DW_AT_type        : <0x76>
 <1><14e>: skrát. číslo: 15 (DW_TAG_typedef)
    <14f>   DW_AT_name        : (indirect string, offset: 0x7653): __mode_t
    <153>   DW_AT_decl_file   : 25
    <154>   DW_AT_decl_line   : 138
    <155>   DW_AT_decl_column : 26
    <156>   DW_AT_type        : <0x6f>
 <1><15a>: skrát. číslo: 15 (DW_TAG_typedef)
    <15b>   DW_AT_name        : (indirect string, offset: 0x2366a): __nlink_t
    <15f>   DW_AT_decl_file   : 25
    <160>   DW_AT_decl_line   : 139
    <161>   DW_AT_decl_column : 27
    <162>   DW_AT_type        : <0x76>
 <1><166>: skrát. číslo: 15 (DW_TAG_typedef)
    <167>   DW_AT_name        : (indirect string, offset: 0x168f7): __off_t
    <16b>   DW_AT_decl_file   : 25
    <16c>   DW_AT_decl_line   : 140
    <16d>   DW_AT_decl_column : 25
    <16e>   DW_AT_type        : <0xee>
 <1><172>: skrát. číslo: 15 (DW_TAG_typedef)
    <173>   DW_AT_name        : (indirect string, offset: 0xbb64): __off64_t
    <177>   DW_AT_decl_file   : 25
    <178>   DW_AT_decl_line   : 141
    <179>   DW_AT_decl_column : 27
    <17a>   DW_AT_type        : <0xee>
 <1><17e>: skrát. číslo: 15 (DW_TAG_typedef)
    <17f>   DW_AT_name        : (indirect string, offset: 0x2a608): __clock_t
    <183>   DW_AT_decl_file   : 25
    <184>   DW_AT_decl_line   : 144
    <185>   DW_AT_decl_column : 27
    <186>   DW_AT_type        : <0xee>
 <1><18a>: skrát. číslo: 15 (DW_TAG_typedef)
    <18b>   DW_AT_name        : (indirect string, offset: 0x2f6fe): __time_t
    <18f>   DW_AT_decl_file   : 25
    <190>   DW_AT_decl_line   : 148
29.12.2018 16:54 Petr
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Jo, to bude ono, distribuční ani AUR binárka debug sekce nemají. Docela čuňárna cpát to tam jako default :-(
29.12.2018 17:18 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Alebo predpokladaju, ze ten co preklada, vie co robi.
29.12.2018 23:02 luky
Rozbalit Rozbalit vše Re: fish shell 3.0.0
A to "make install" nevola strip?
30.12.2018 09:23 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Nvm. Neinstaloval som si to do systemu. Spustal iba skompilovanu binarku v priecinku zdrojakov.
30.12.2018 12:27 luky
Rozbalit Rozbalit vše Re: fish shell 3.0.0
V tom pripade nechapu, proc si stezujete na velikost. Strip se casto vola az pri instalaci. Stezovat si na velikost nenainstalovane binarky je stejny nesmysl, jako byste si stezoval, ze se pri kompilaci vytvorily docasne .o soubory.
30.12.2018 14:12 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Lebo aj velkost pripadne oplyvnuje volbu, ci si to rozhodnem pouzivat. Alebo aspon budem uvazovat, ci to budem ignorovat alebo trocha do toho tuknem, ze co je to zac.
30.12.2018 14:39 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: fish shell 3.0.0
A ten parameter -g tam máš prečo teda?
30.12.2018 16:44 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Lebo to maju defaulne povolene z gitu. Len som skopiroval a dal prelozit.
30.12.2018 17:01 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Aha, a prečo očakávaš že git pre vývojárov bude produkovať distribučné balíčky podľa ktorých sa ty ako BFU budeš rozhodovať?
30.12.2018 18:09 _  
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Čichám původní mindrák z C++, což mě překvapuje od evidentního laika. Bystroušákova propaganda přecijen zafungovala?
30.12.2018 13:24 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: fish shell 3.0.0
CXXFLAGS = '-g -O2 -fno-exceptions -Wextra -Wno-missing-field-initializers'
             ^~~~
Pak to nemá být velký :-D
29.12.2018 12:56 Cx
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Když píšeš skripty tak o mnoho víc nezískáš. Když to ale používáš jako shell, tak auto-completition operuje proti BASHi na úplně jiném levelu existence.
29.12.2018 14:43 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Ak pises skripty, tak potom nesiahnes, lebo by si pisal len only-fish skripty. Slucky a cykly sa inac zapisuju ako v SH.
30.12.2018 11:59 David
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Muzete upresnit sve tvrzeni? To jako kdyz si nainstaluju a spustim Fish shell nebudu moci spoustet skripty v nicem jinem? a slysel jste uz o https://en.wikipedia.org/wiki/Shebang_(Unix)?
30.12.2018 14:14 debian+
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Dobra poznamka ...

Ja v com pisem, to pouzivam. Viac variacii, viac moznosti komplikacii, viac treba sledovat zmeni a clovek nemusi byt vo vsetkom perfektny.
29.12.2018 13:08 Petr
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Odpovědět | Sbalit | Link | Blokovat | Admin
Je to dost zajímací, používam léta zsh s Prestem a tohle má prakticky všechno out-of-the-box. Doplňování příkazů je jak z nějakého sci-fi, stejně jako naklikání si tématu a promptu ve webovém prohlížeči. Dám tomu šanci.
Petr Tomášek avatar 31.12.2018 10:46 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Co to zase za demenci konfigurovat shell pomocí webového prohlížeče???
multicult.fm | monokultura je zlo | welcome refugees!
31.12.2018 10:50 Petr
Rozbalit Rozbalit vše Re: fish shell 3.0.0
Zabralo mi to asi setinu času oproti hrabání se v konfigurácích a dokumentaci. Že to není dostatečně oldscool mě nezajímá.

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.