TechTalkz.com Logo Ask the Expert

Go Back   TechTalkz.com Technology & Computer Troubleshooting Forums > Tech Support Archives > Linux & Opensource > Mandriva Linux

Notices

Bash script error

Mandriva Linux


Reply
 
Thread Tools Display Modes
Old 09-01-2008, 04:44 AM   #1
Doug Laidlaw
Guest
 
Posts: n/a
Bash script error

This is from the Creatures Docking Station, which is really too old to use.

But for my own knowledge, the bit below gives an error that 'dirname' is
missing an operand;

if [ "$fullpath" = "" ]; then
fullpath="$1"
fi
# Is the awk/ls magic portable?
if [ -L "$fullpath" ]; then
fullpath="`ls -l "$fullpath" | awk '{print $11}'`"
fi
dirname $fullpath

Setting a variable like this is common. Why doesn't it work in this
instance? It should ultimately resolve to "dirname $1" or whatever
fullpath is ultimately set at?

TIA,

Doug.
  Reply With Quote
Old 09-01-2008, 04:44 AM   #2
Bit Twister
Guest
 
Posts: n/a
Re: Bash script error

On Mon, 07 Jan 2008 12:38:26 -0500, David W. Hodgins wrote:
> On Mon, 07 Jan 2008 11:54:12 -0500,
> Bit Twister <BitTwister@mouse-potato.com> wrote:


>> set - # set debugging mode off

>
> Lol. Care to try again ...


Nope. :-D

> set +x # set debugging mode off


Well, that does work. Just a habit for me to use "set -" since I might
have used set -xv

or any other switches.
  Reply With Quote
Old 09-01-2008, 04:44 AM   #3
Bit Twister
Guest
 
Posts: n/a
Re: Bash script error

On Mon, 07 Jan 2008 16:33:18 -0600, Jim Whitby wrote:

> If the dirname is a link. Try changing 11 to 10 in the awk statement.


and back to 11 if not.
  Reply With Quote
Old 09-01-2008, 04:45 AM   #4
Bit Twister
Guest
 
Posts: n/a
Re: Bash script error

On Tue, 08 Jan 2008 00:22:56 +1100, Doug Laidlaw wrote:
>
> But for my own knowledge, the bit below gives an error that 'dirname' is
> missing an operand;


Because it is. Trust the error message Luke.


> Setting a variable like this is common.


I hope not.

> Why doesn't it work in this instance?


Here try this.

set -x # enable debugging mode

if [ "$fullpath" = "" ]; then
fullpath="$1"
fi
# Is the awk/ls magic portable?
if [ -L "$fullpath" ]; then
fullpath="`ls -l "$fullpath" | awk '{print $11}'`"
fi

dirname $fullpath

set - # set debugging mode
  Reply With Quote
Old 09-01-2008, 04:45 AM   #5
David W. Hodgins
Guest
 
Posts: n/a
Re: Bash script error

On Mon, 07 Jan 2008 11:54:12 -0500, Bit Twister <BitTwister@mouse-potato.com> wrote:

> On Mon, 7 Jan 2008 16:23:40 +0000 (UTC), Bit Twister wrote:
>
> Opps,
>> set - # set debugging mode

> set - # set debugging mode off


Lol. Care to try again ...

set +x # set debugging mode off

Since I'm correcting a type, there hasto be one somewhere in this msg too.

Regards, Dave Hodgins

--
Change nomail.afraid.org to ody.ca to reply by email.
(nomail.afraid.org has been set up specifically for
use in usenet. Feel free to use it yourself.)
  Reply With Quote
Old 09-01-2008, 04:45 AM   #6
Jim Whitby
Guest
 
Posts: n/a
Re: Bash script error

On Mon, 07 Jan 2008 22:53:24 +0000, Bit Twister wrote:

> On Mon, 07 Jan 2008 16:33:18 -0600, Jim Whitby wrote:
>
>> If the dirname is a link. Try changing 11 to 10 in the awk statement.

>
> and back to 11 if not.


If it isn't a link.... the test fails.... right?
  Reply With Quote
Old 09-01-2008, 04:45 AM   #7
David W. Hodgins
Guest
 
Posts: n/a
Re: Bash script error

On Mon, 07 Jan 2008 12:47:24 -0500, Bit Twister <BitTwister@mouse-potato.com> wrote:

> On Mon, 07 Jan 2008 12:38:26 -0500, David W. Hodgins wrote:
>> On Mon, 07 Jan 2008 11:54:12 -0500,
>> Bit Twister <BitTwister@mouse-potato.com> wrote:

>
>>> set - # set debugging mode off

>> Lol. Care to try again ...

>
> Nope. :-D


My bad. I should have checked the man page ...

`-'
Signal the end of options, cause all remaining ARGUMENTS to
be assigned to the positional parameters. The `-x' and `-v'
options are turned off. If there are no arguments, the
positional parameters remain unchanged.

I've always used set +x +v to turn off debugging. Didn't realize "set -",
without the +x +v would turn them off.

Learn something new everyday

Regards, Dave Hodgins

--
Change nomail.afraid.org to ody.ca to reply by email.
(nomail.afraid.org has been set up specifically for
use in usenet. Feel free to use it yourself.)
  Reply With Quote
Old 09-01-2008, 04:45 AM   #8
David W. Hodgins
Guest
 
Posts: n/a
Re: Bash script error

On Mon, 07 Jan 2008 12:47:24 -0500, Bit Twister <BitTwister@mouse-potato.com> wrote:

> On Mon, 07 Jan 2008 12:38:26 -0500, David W. Hodgins wrote:
>> On Mon, 07 Jan 2008 11:54:12 -0500,
>> Bit Twister <BitTwister@mouse-potato.com> wrote:

>
>>> set - # set debugging mode off

>> Lol. Care to try again ...

>
> Nope. :-D


My bad. I should have checked the man page ...

`-'
Signal the end of options, cause all remaining ARGUMENTS to
be assigned to the positional parameters. The `-x' and `-v'
options are turned off. If there are no arguments, the
positional parameters remain unchanged.

I've always used set +x +v to turn off debugging. Didn't realize "set -",
without the +x +v would turn them off.

Learn something new everyday

Regards, Dave Hodgins

--
Change nomail.afraid.org to ody.ca to reply by email.
(nomail.afraid.org has been set up specifically for
use in usenet. Feel free to use it yourself.)
  Reply With Quote
Old 09-01-2008, 04:46 AM   #9
David W. Hodgins
Guest
 
Posts: n/a
Re: Bash script error

On Mon, 07 Jan 2008 11:54:12 -0500, Bit Twister <BitTwister@mouse-potato.com> wrote:

> On Mon, 7 Jan 2008 16:23:40 +0000 (UTC), Bit Twister wrote:
>
> Opps,
>> set - # set debugging mode

> set - # set debugging mode off


Lol. Care to try again ...

set +x # set debugging mode off

Since I'm correcting a type, there hasto be one somewhere in this msg too.

Regards, Dave Hodgins

--
Change nomail.afraid.org to ody.ca to reply by email.
(nomail.afraid.org has been set up specifically for
use in usenet. Feel free to use it yourself.)
  Reply With Quote
Old 09-01-2008, 04:46 AM   #10
Bit Twister
Guest
 
Posts: n/a
Re: Bash script error

On Mon, 07 Jan 2008 12:38:26 -0500, David W. Hodgins wrote:
> On Mon, 07 Jan 2008 11:54:12 -0500,
> Bit Twister <BitTwister@mouse-potato.com> wrote:


>> set - # set debugging mode off

>
> Lol. Care to try again ...


Nope. :-D

> set +x # set debugging mode off


Well, that does work. Just a habit for me to use "set -" since I might
have used set -xv

or any other switches.
  Reply With Quote
Reply

Thread Tools
Display Modes



< Home - Windows Help - MS Office Help - Hardware Support >


New To Site? Need Help?

All times are GMT +5.5. The time now is 05:46 PM.


vBulletin, Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO
Copyright © 2005-2010, TechTalkz.com. All Rights Reserved - Privacy Policy
Valid XHTML 1.0 Transitional