LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   A Bash Scripting Question (https://www.linuxquestions.org/questions/linux-newbie-8/a-bash-scripting-question-327424/)

steve_f60 05-26-2005 03:55 PM

A Bash Scripting Question
 
Hello All,

I am writing a script that will create multiple symbolic links based upon which type is needed. The resulting sym link must be named as follows : str7966rgXXX ( where XXX is a 3 digit number from 101 thru 111)

Script I wrote is below but my problem is that I can't get the links named correctly. Instead of having rg101, 102, 103.....110,111 , I get 11, 12,13...18,19,110,111.

How can I maintain the correct numbering with what I have in my script by maintaining the value of x as a 2 digit number? I thought I could use typeset or declare but haven't figured out what configuration would work.


# !/bin/bash

# sf - 5/26/05

x=01

echo " Enter image type store or warehouse , followed by [ENTER]:"

read image
if [ $image = store ]
then

until [ ${x} = 12 ]
do

ln -sf client_golden.master str7966rg1${x}
x=$[$x + 1]
done

fi

if [ $image = warehouse ]
then

until [ ${x} = 12 ]
do

ln -sf GreenScreenwSource.master str7966rg1${x}
x=$[$x + 1]
done

fi

Thanks,

Steve

jailbait 05-26-2005 04:02 PM

"How can I maintain the correct numbering with what I have in my script by maintaining the value of x as a 2 digit number?"

The problem is that you cannot display a leading zero when displaying a variable's value. To solve this problem you could initialize x as x=101 and make the corresponding changes in the rest of the script.

--------------------------
Steve Stites

steve_f60 05-26-2005 04:15 PM

What can I say Steve??????? After I saw your response I realized how stupid I was.... Its the obvious stuff that kills me..............

We'll just keep this to ourselves ok???????

Thanks Much !

Steve F

jailbait 05-26-2005 06:39 PM

"We'll just keep this to ourselves ok???????"

OK. :D

---------------------------
Steve Stites

perfect_circle 05-26-2005 06:57 PM

I had a leading zero problem once in bash far more compicated that yours.
Did you know that in bash the leading zero is used to represent octal numbers?

Code:

skalkoto@darkstar:~$ a=08
skalkoto@darkstar:~$ a=$[$a+1]
-bash: 08: value too great for base (error token is "08")
skalkoto@darkstar:~$



All times are GMT -5. The time now is 11:46 AM.