Problem in Running Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem in Running Script
# 1  
Old 08-31-2005
Problem in Running Script

Hi friends,

i have written one small script named as "size.sh".....
while running its giving

syntax error at line no 2: 'str=$' unexpected.

How to run this file ??? please help me.

file content is :

-----------------------------
#!/bin/sh
str=$( df -k | grep /usr/local)
strlen=${#str}
Sindex=$( expr $strlen - 25)
Eindex=$( expr $Sindex + 2)
Size=`echo $str | cut -c$Sindex-$Eindex`

if ["$Size" -gt 60]
then
echo "Storage size is above 60. Plz clear the cache"
fi

------------------------------

Regards,
Samuel G.
# 2  
Old 08-31-2005
which flavour/version of unix you are using?
I am not getting the error which you mentioned , I am using AIX 5.0

Anyway modify the statment str=$( df -k | grep /usr/local) with
str=`df -k | grep /usr/local`
You may not get error

try it!!!!
Shihab
# 3  
Old 08-31-2005
Hi shihba,

thank u

str=`df -k | grep /usr/local` is working fine.

but the next line
strlen=${#str} is giving error that "bad substitution".
please help me in this...

Regards,
Sam.
# 4  
Old 08-31-2005
Hi Sam,
It seems you are using old version of Unix which is not supporting this - I am not sure
your can rewrite the statment strlen=${#str} with strlen=`expr length $str`. This may work.

By the way which unix flavour you are using and the version?

Shihab
# 5  
Old 08-31-2005
Using backticks is not recommended. Your original form was ok save for proper quotation:

str="$(df -k | grep /usr/local)"

which could better be written:

str="$( df -k /usr/local | sed '1d' )"

The second error is because of typo: "${# ...}" only works with arrays, giving back the number of elements in an array.

The whole construction with strlen is not too elegant, this one is easier and does the same:

size="$( df -k /usr/local | sed '1d;s/<spc><spc>*/<spc>/g' | cut -f3 -d'<spc>' )"

(replace "<spc>" with literal space characters)
baknin

Last edited by bakunin; 08-31-2005 at 09:31 PM..
# 6  
Old 08-31-2005
Replace your working shell to bash or ksh.
bash or ksh is more powerful.

in sh aa=`echo $a`
in bash or ksh you can use aa=$(echo $a) also.
bash support some operations in {}
e.g:
${file#*/}
${file%/*}
...
${file:0:5}

cheers.
# 7  
Old 09-01-2005
Change line 1 from #!/bin/sh to #!/usr/bin/ksh
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem on running a script

Hi all, Running follow command on terminal; $ glance -T cloudlive -I ubuntu -K ubuntu123 -N \ http://127.0.0.1:5000/v2.0/OpenX add name="cirros" is_public=true \ container_format=ovf disk_format=raw < \ /srv/cirros-0.3.0-x86_64-disk.img It works without problem. Putting it on a... (5 Replies)
Discussion started by: satimis
5 Replies

2. Emergency UNIX and Linux Support

Problem with running Ghost Script

I have getting problem with running gs on a non global zone. This is new zone. Seems something to do with library, but I am not getting correct pointer. -bash-3.00$ which gs /usr/local/bin/gs -bash-3.00$ gs ld.so.1: gs: fatal: libcairo.so.2: open failed: No such file or directory Killed... (3 Replies)
Discussion started by: solaris_1977
3 Replies

3. Shell Programming and Scripting

Problem running a program/script in the background from a script

Hi all, I have a script that calls another program/script, xxx, to run in the background. Supposedly this program at most should finish within five (5) minutes so after five (5) minutes, I run some other steps to run the script into completion. My problem is sometimes the program takes... (5 Replies)
Discussion started by: newbie_01
5 Replies

4. Shell Programming and Scripting

Problem with crontab running a script

I am trying to use the CRON utility in Fedora 11 & CentOS... I intend to run a script which pops up a warning message every hour and i made the following entry using "CRONTAB -e " * * * * * sh /bin/myscript.sh But this does not seem to be running. Another thing to note is that,... (4 Replies)
Discussion started by: Vabiosis
4 Replies

5. Shell Programming and Scripting

Problem in running a shell script

Hi, I'm trying to run a simple shell script whose contents are pasted below. #!/usr/bin/ksh echo $PATH performbuild { echo "Inside performBuild function" } echo "Main Shell started" performbuild echo "Main Shell ended" DV> ls -ltr total 48 -rwxr-xr-x 1 pb5377 it-ibm ... (5 Replies)
Discussion started by: blp_18
5 Replies

6. Shell Programming and Scripting

K script not running / syntax problem

Hi, I have following K script, that is in rc0.d directory to be run on shutdown. It's linked using the 'ln' command to init.d.Can anyone tell me as to why it's not running, or if i have incorrect syntax?I get: "test: argument expected type=uname -p + " When running it with sh -x ... (8 Replies)
Discussion started by: darrlaw
8 Replies

7. Shell Programming and Scripting

running perl script problem

While executing perl scriptit gives some compling issue, please help out $inputFilename="c:\allways.pl"; open (FILEH,$inputFilename) or die "Could not open log file"; Error : Could not open log file at c:\allways.pl line 4 learner in Perl (1 Reply)
Discussion started by: allways4u21
1 Replies

8. Shell Programming and Scripting

Problem with running the remote script

Hi All, I am running a script which is present on remote machine using ssh command. the remote script is failing when try to load a property file. It says file does not exist. Any idea what should be the problem for this. Thanks Supriya. (7 Replies)
Discussion started by: supriyabv
7 Replies

9. UNIX for Dummies Questions & Answers

problem running script

hey, i'm trying to run several processes due 2 loops : the code is: cd ${TIBCO_HOME}/tra/domain/${DOMAIN}/application/ for app_name in ls * do echo $app_name if && && ; then exit else echo $app_name cd $app_name pwd for ps_name in ls *.sh do echo... (2 Replies)
Discussion started by: ohadr
2 Replies

10. Solaris

Problem running script remotelly.

Hi, i would like a help with this problem. i have the following situation: 4 workstations SUNs: SunOS porsche 5.8 Generic_117350-18 sun4u sparc SUNW,Sun-Blade-100 SunOS jaguar 5.8 Generic_108528-18 sun4u sparc SUNW,Sun-Blade-100 SunOS mercedes 5.8 Generic_117350-18 sun4u sparc... (2 Replies)
Discussion started by: dougpss
2 Replies
Login or Register to Ask a Question