Visit Our UNIX and Linux User Community


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

Previous Thread | Next Thread
Test Your Knowledge in Computers #266
Difficulty: Easy
In 1952, Alan Turing was prosecuted for homosexual acts a criminal offense in the UK and accepted chemical castration treatment as an alternative to prison.
True or False?

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

Featured Tech Videos