I am having trouble creating an array, I've tried everything google gives me but it won't work, and it seems as though it should. Using Ubunto 12.04 and bash.
When I do this I receive the error
: two: not found
and
: Bad substitution
When I use parenthesis like so...
and
I get the error
: Syntax error: "(" unexpected
When I try...
and
I get the unexpected "(" error
I've tried it with declare -a out front too, and I get
: declare: not found
I've also tried variations of...
Getting the error ARRAY=[1] not found
Bad substitution
I've even changed the echo command to
I've tried every combination of almost everything EXCEPT iterating through a loop but I don't see why that would work and a simple echo would not.
The ultimate goal is to store all the months of the year in an array, like 2012-01-01 and so forth.
Also I formatted it using dos2unix and it didn't fix it.
I feel as thought his is very easy and should not be happening, but if that is not the case and I have made a careless error PLEASE humble me.
ok
[code]
declare -a arr=("one and one" two three)
[code]
arr=( -- NO spaces
Then a space between each array element - "one and one" makes a single element because it is enclosed in quotes and the quoted blob is set off by spaces.
UNIX does not like ^M characters at the end of lines in shell scripts. If you edit on Windows get an editor that can create unix carriage return files for you.
This is the only wrong one. It assigns only 'one' to the variable ARRAY... then calls 'two' as a command with 'three' as its parameter.
Quote:
When I do this I receive the error
: two: not found
and
: Bad substitution
Bad sustitution? Where does it come from?
Oh! This is sh speaking, not bash (in sh you don't have arrays!)
Somehow, you're using sh and not bash. In sh there aren't arrays, something like
is indeed a bad susbstitution, and there's no declare builtin command.
Quote:
These above are all fine... in bash of course.
Quote:
I've tried it with declare -a out front too, and I get
: declare: not found
Somehow you're using sh, not bash.
Declare is an internal bash command. If you were using bash, it would be found. Better: it wouldn't need to be looked for: it'd be already available, it'd be already there.
Since you're using sh, which doesn't know what 'declare' is, you get an error.
Why are you using sh and not bash? I don't know. Maybe some more info would help.
--
Bye
Hi Guys,
I am writting a c shell script where I have to parse an input argument with options that could be an array. So far I have achieved where I could parse a single argument with option but failed when I try to create an array with the options. For example:
This is on terminal window:... (2 Replies)
Dear community,
how can I create an array from file taking only the 4th field?
out.txt file is something like this:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20So the final array should be:
4 8 12 16 20With this command I created an array with all the fields, but I need only the 4th... (13 Replies)
Hi gurus,
I need to create arrays from variables, via a loop.
The issue I have is with the array name creation. How do I use a variable to define an array?
I want to do something like
declare -a $H
where $H is my loop variable.
I then need to add items to each array I've created,... (3 Replies)
I have an interesting requirement. I have declaried an array like :-
arr=`find . ! -name "." | xargs -I {} echo {} | cut -c 2-${#}`
Then i will try to access the array elements like :-
i=0
for i in ${arr}; do
Here comes the confusions, the array elements are basically dir and files stored... (2 Replies)
I am wondering how I can save the file names (stored in $file or $fnames) in array which I can access with an index.
alias MATH 'set \!:1 = `echo "\!:3-$" | bc -l`'
set narg = $#argv
while ($iarg < $narg)
MATH iarg = $iarg + 1
set arg = $argv
set opt = ` echo $arg | awk... (1 Reply)
I am facing a strange error while creating posix threads:
Given below are two snippets of code, the first one works whereas the second one gives a garbage value in the output.
Snippet 1
This works:
--------------
int *threadids;
threadids = (int *) malloc (num_threads * sizeof(int));
... (4 Replies)
i want to create an array
the array elements are populated depending upon the number of entries present in a data file
The data file is created dynamically
how to achieve the same
thanks (1 Reply)
Hi all,
i am quite fimiliar with shell scripting but i wouldn't regard myself as a semi professional at it.
I am trying to create an array variable to read in 4 lines from a file using head and tail command in a pipeline and store each line into each array. I have done the scripting in unix... (2 Replies)
Hi,
Is it possible to create a dynamic array in shell script. I am trying to get the list of logfiles that created that day and put it in a dynamic array. I am not sure about it. help me
New to scripting
Gundu (3 Replies)