Solved

I can't get bash script to store value into variable on my Solaris System but works fine on all other LInux Flavors

Posted on 2008-10-28
3
435 Views
Last Modified: 2013-12-27
Hello, I am new to Sun Solaris. I like it so far but I am having problems with some of my bash scripts.

I am trying to run a backup script which does a system call and stores that value into a variable. If I run this command in the shell it works perfectly fine. But if I put the same command in a shell script it gives me an error. The following commands work just fine in my shell scripts on my red hat and debian servers.

LIST="$(ncftpls -u vivek -p mypassword ftp://array05.wan.nixcraft.com/vivek/)"
NOW=$(date +"%d-%m-%Y")
DAY=$(date +" %a" )

If I run them at the terminal window they store the proper value in teh variable if I echo it. But if i put it in a script it gives me an error like below:


bash-3.00# sh FTP_BACKUP_SCRIPT_v1.2.sh
FTP_BACKUP_SCRIPT_v1.2.sh: syntax error at line 8: `NOW=$' unexpected

Any idea why? Is processed differently on Sun Solaris and if so how can i fix this. Thanks!

0
Comment
Question by:nichiaiinc
3 Comments
 
LVL 84

Accepted Solution

by:
ozo earned 500 total points
Comment Utility
maybe you should  try
bash FTP_BACKUP_SCRIPT_v1.2.sh
0
 

Author Comment

by:nichiaiinc
Comment Utility
Right on! That was it. I have always been calling the script using sh for about two years without any problems. Thanks to Solaris for showing me what i was doing wrong and you for the answer. it works now!
0
 
LVL 39

Expert Comment

by:Adam314
Comment Utility
If you put this as the first line in your script:
  #!/bin/bash

Then you can call the script with just:
     FTP_BACKUP_SCRIPT_v1.2.sh

Or, if the script is not in your PATH:
    /path/to/FTP_BACKUP_SCRIPT_v1.2.sh
Or, from the current directory:
    ./FTP_BACKUP_SCRIPT_v1.2.sh


0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (http://www.mongodb.org/downloads),  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now