Portál AbcLinuxu, 26. dubna 2024 21:20


Dotaz: Nepochopitelné chování bashe

12.12.2012 23:32 Martin
Nepochopitelné chování bashe
Přečteno: 318×
Odpovědět | Admin
Dobrý večer, spustím soubor
sh /root/mysh/check_date.sh

v souboru /root/mysh/check_date.sh mám jen

source /root/mysh/back.sh
a přitom to hlásí chybu
/root/mysh/check_date.sh: 2: source: not found
co je to za blbost? Seru se s tím už 2 hodiny a výsledek nebere konce, nechápu, nerozumím. Poradí někdo?

Řešení dotazu:


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

Odpovědi

12.12.2012 23:44 l4m4
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
Odpovědět | | Sbalit | Link | Blokovat | Admin
source není specifikován POSIXem, tudíž musíš

(a) přiznat, že používáš bash, a spouštět to bash skript

(b) použít . (což je POSIXOvý příkaz) namísto source
13.12.2012 00:00 Martin
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
Hm, musím přiznat, že používám bash? Teď se zeptám smrtelné vážně jelikož to nevím, pokud si mám přiznat, že používám bash, znamená to, že si jen namlouvám, že používam něco jiného, co je to něco jiného? Dík
13.12.2012 00:08 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
Je rozdiel ci pustas
sh skript.sh
alebo
bash skript.sh
. Aj na systemoch, kde je jedno link na to druhe sa bash typicky chova inak, ak je volany cez sh a nie cez bash.
If you hold a Unix shell up to your ear, you can you hear the C.
12.12.2012 23:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prostě nerozumí source, bo je to je (asi) dash - to je hotovizňa (sh není nutně a nyní už i často bash)…
source je bashismus, vyměnit je za '.' a zlepší se to :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
13.12.2012 15:06 pako
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
source je bashismus
S ohledem na to, že source používá celá rodinka *csh, bych si dovolil považovat toto tvrzení za ne zcela přesné. ;)
13.12.2012 15:44 l4m4
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
Naopak bsh ani ksh ho nemá. Tudíž je to spíš C-shellismus, který bash přejal...
13.12.2012 17:44 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
Oki, ale 'bashismus' je lepši buzzword :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
14.12.2012 09:51 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
Obecně možná, ale v diskusi o skriptu, který je podle všeho celý napsán pro bourne-style shell, je to IMHO docela adekvátní.
xkucf03 avatar 12.12.2012 23:55 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Nepochopitelné chování bashe
Odpovědět | | Sbalit | Link | Blokovat | Admin
source je tzv. vestavěný příkaz BASHe (viz man bash – SHELL BUILTIN COMMANDS), není to tedy běžná binárka někde v /bin/* (jako třeba ls). Takže to bez BASHe fungovat nebude (spouštíš to pomocí sh), ale mělo by ti tam fungovat:
. /root/mysh/back.sh
(tečka místo source)
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

Založit nové vláknoNahoru

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

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