Portál AbcLinuxu, 6. listopadu 2025 23:58
vim soubor, který mi najde příkaz which. Něco jako
which osel.sh |vim -
ovšem tohle neotevře příslušný soubor osel.sh, ale naopak nepojmenovaný soubor s řádkem "/home/mh/bin/osel.sh"
Víte někdo jak na to?
Řešení dotazu:
osel.sh, not a found)…
which, ktorý je v shelloch často built-in. Rozdiel býva práve v prípade, že command nenájdu.
vim $(which osel.sh)
` to je zcela zásadní rozdíl, protože which ho nevyescapuje a příkaz tedy selže. Uznávám, že to je okrajový případ :D
> which brm\`brm /home/jenda/bin/brm`brm > vim $(which brm\`brm) #chodíGNU bash, version 4.2.37(1)-release (x86_64-pc-linux-gnu)
which to nefunguje ani s tou alternativní syntaxí.
`` je to feature. Proto jsem také tu novější variantu navrhl, syntaxe `` je v Bash historická záležitost.
$(...) pořád fungují jako speciální znak, mimo jiné kvůli snazšímu vnořování.
-o
tedy:
which osels.sh | vim -oToto je zvlaste vhodne, chceme-li pres pajpu dostat vice souboru a otevrit je v oknech pod sebou... (prepinac
-O je naopak otevre v oknech vedle sebe)
which osel.sh | vim - ale nevýhoda je, že se nezachová jméno souboru, pouze je načten jeho obsah ze stdin. Hodí se i vim -p pokud člověk používá taby, ale jak říkám, musí za tím následovat jméno/a souboru/ů.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.