[mdlug] Difference between ; and &&
Aaron Kulkis
akulkis00 at gmail.com
Thu May 10 18:48:43 EDT 2012
John Wiersba wrote:
> Good, except for the [ command ] part. This is correct (and similarly for command5 & 6):
>
ah, my mistake, the left and right square brackets are optional.
I always thought they were required (20 years scripts all have them :-/)
> # command4 executes only if command3 returns an exit status of 0
> if command3
> then
> command4
> fi
>
> # command6 executes only if command5 returns an exit status other than 0
> if ! command5
> then
> command6
> fi
>
>
> Date: Thu, 10 May 2012 03:09:16 -0400
>> From: Aaron Kulkis <akulkis00 at gmail.com>
>> Subject: Re: [mdlug] Difference between ; and &&
>> To: MDLUG's Main discussion list <mdlug at mdlug.org>
>> Message-ID: <4FAB699C.3070709 at gmail.com>
>> Content-Type: text/plain; charset=ISO-8859-1
>>
>> Mat Enders wrote:
>>> Hello all,
>>>
>>> When stringing commands together at the command line I always use the
>>> semicolon ; I however see && used frequently and was wondering what
>>> the difference was.
>>>
>>> For example what is the difference between these commands:
>>>
>>> apt-get update;apt-get dist-upgrade
>>> and
>>> apt-get update && apt-get dist-upgrade
>>>
>>
>>
>> there are three constructs here:
>>
>> (A) command1 ; command2
>> (B) command3 && command4
>> (C) command5 || command6
>>
>> (A) is shorthand for this:
>>
>> command1
>> command2
>>
>> # Command2 executes in all circumstances.
>>
>>
>> (B) is shorthand for
>>
>> if [ command3 ]
>> then
>> command4
>> fi
>>
>> # command2 executes only if command1 returns an exit-code of 0
>>
>> (c)is shorthand for
>>
>> if [ ! command5 ]
>> then
>> command6
>> fi
>>
>> # command2 executes only if command5 returns an exit-code other than 0
>>
> _______________________________________________
> mdlug mailing list
> mdlug at mdlug.org
> http://mdlug.org/mailman/listinfo/mdlug
More information about the mdlug
mailing list