Article View: pl.comp.os.linux
Article #907850Re: ssh, mkdir i zmienne w skrypcie
From: Marcin Debowski
Date: Fri, 25 Oct 2024 23:18
Date: Fri, 25 Oct 2024 23:18
46 lines
2938 bytes
2938 bytes
On 2024-10-24, marrgol <marrgol@address.invalid> wrote: > On 2024-10-24 at 02:30 Marcin Debowski wrote: >> Przy okazji niezwiązane pytanie... >> >> agatek@surfacego:~$ ZM1=~/foo echo $ZM1 >> >> Dlaczego w powyższym powłoka ignoruje przypisanie nowej wartości ZM1 a >> jednoczesnie wykonuje polecenie po spacji? Jak dam średnik czy && po foo >> to zmienia wartość jak sie mozna spodziewac, a bez tego nie. > > Nie ignoruje, ta forma polecenia powoduje, że nowa wartość ZM1 będzie > dostępna tylko w środowisku polecenia po spacji, a nie w bieżącym: > > $ ZM1=STARA > $ ZM1=~/foo echo $ZM1 > STARA > $ ZM1=~/foo bash -c 'echo $ZM1' > /home/user/foo > $ ZM1=~/foo eval echo \$ZM1 > /home/user/foo > $ echo $ZM1 > STARA > W poleceniu 'ZM1=~/foo echo $ZM1' za $ZM1 shell podstawia znaną sobie starą > wartość ZM1 z bieżącego środowiska (albo pustą, jeśli ZM1 nie istnieje) > _zanim_ wykona całe polecenie. Natomiast samodzielne przypisanie zmiennej Ok, chyba coś zaczyna do mnie docierać... A we fragmencie bash -c 'echo $ZM1' ...nie podstawia bo traktuje jako 'string'. Ale nowa powłoka z właściwości opcji -c traktuje ten sam string jako dalsze argumenty (nie wywala command not found). Tak? > (w osobnej linii, oddzielone średnikiem, & itp. od innych poleceń) powoduje, > że nowa wartość ZM1 zostanie przypisana w bieżącym środowisku shella, > więc w następnych poleceniach interpreter podstawi tę nową wartość. > > Jak chcesz zobaczyć co bash podstawia za zmienne, to po wpisaniu polecenia > zamiast je wykonywać wciśnij [Esc] [Ctrl-E] (albo [LeftAlt-Ctrl-E]). Dzięki, jak zwykle jesteś niezawodny. -- Marcin
Technical Details
Message-ID:
<MGVSO.43423$FIff.12054@fx02.ams1>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.neodome.net!feeder2.feed.ams11.usenet.farm!feed.usenet.farm!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!feeder.cambriumusenet.nl!feed.tweaknews.nl!posting.tweaknews.nl!fx02.ams1.POSTED!not-for-mailReferences:
<vf5qru$104b1$1@dont-email.me> <vf6mr0$12k1i$1@dont-email.me> <d5254b1af5d5f6a28da5bcc2ef5875da506799d4@i2pn2.org> <vf80p2$1e0d2$1@dont-email.me> <bd466805-fb4a-4dca-a413-354b971319a0@hooterville.invalid> <vfbuku$28ohs$1@dont-email.me> <SygSO.105349$Xx4a.49690@fx11.ams1> <vfd94d$2iuhj$1@dont-email.me>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.neodome.net!feeder2.feed.ams11.usenet.farm!feed.usenet.farm!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!feeder.cambriumusenet.nl!feed.tweaknews.nl!posting.tweaknews.nl!fx02.ams1.POSTED!not-for-mail Newsgroups: pl.comp.os.linux From: Marcin Debowski <agatek@INVALID.zoho.com> Subject: Re: ssh, mkdir i zmienne w skrypcie References: <vf5qru$104b1$1@dont-email.me> <vf6mr0$12k1i$1@dont-email.me> <d5254b1af5d5f6a28da5bcc2ef5875da506799d4@i2pn2.org> <vf80p2$1e0d2$1@dont-email.me> <bd466805-fb4a-4dca-a413-354b971319a0@hooterville.invalid> <vfbuku$28ohs$1@dont-email.me> <SygSO.105349$Xx4a.49690@fx11.ams1> <vfd94d$2iuhj$1@dont-email.me> User-Agent: slrn/1.0.3 (Linux) Mime-Version: 1.0 Lines: 46 Message-ID: <MGVSO.43423$FIff.12054@fx02.ams1> X-Complaints-To: abuse@tweaknews.nl NNTP-Posting-Date: Fri, 25 Oct 2024 23:18:04 UTC Organization: Tweaknews Date: Fri, 25 Oct 2024 23:18:04 GMT X-Received-Bytes: 2696 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit