Thanks!

But I have some doubts:

On Thu, Aug 9, 2012 at 10:35 PM, Shakthi Kannan <[email protected]>wrote:

> Hi,
>
> --- On Thu, Aug 9, 2012 at 9:09 PM, vivek poddar <[email protected]>
> wrote:
> | I am new to shell scripts but trying to learn it by heart.
> \--
>
> If you learn it by heart, you will forget it. If you learn it with
> practice and experience, you will remember for ever.
>
> ---
> | 1. : ${HOME:-$HOME}
> \--
>
> The ':' is a built-in shell operator whose value is "true". In:
>
> === code.sh ===
> #!/bin/sh
>
> : ${TMPDAT:=/tmp/log.$$}
>
> echo $TMPDAT
>
> === END ===
>
> The value of TMPDAT, is say, /tmp/log.2324, you can override the value
> in the command line:
>
> $ TMPDAT=/tmp/tmp/log.txt sh code.sh
>   /tmp/tmp/log.txt
>
>   Didn't understand! I am confused, I think it should be like this:
  $ sh code.sh /tmp/tmp/log.txt
  If I am wrong then pls tell me.

> You cannot do that with explicit variable assignment as in the following:
>
> ---
> | 2. HOME=$HOME
> \--
>
> This is basic parameter expansion where the value of the environment
> variable HOME (right hand side) is assigned to the HOME variable (left
> hand side).
>
> SK
>
> --
> Shakthi Kannan
> http://www.shakthimaan.com
>
> --
> Mailing list guidelines and other related articles:
> http://lug-iitd.org/Footer
>



-- 

         -*- *Vivek Poddar* -*-

 *Technical consultant (OpenERP)*

*Blog:http://vivekimsit.blogspot.in/
*

-- 
Mailing list guidelines and other related articles: http://lug-iitd.org/Footer

Reply via email to