Portál AbcLinuxu, 10. května 2025 22:26
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.