27.08.2015 Views

Advanced Bash−Scripting Guide

Advanced Bash-Scripting Guide - Nicku.org

Advanced Bash-Scripting Guide - Nicku.org

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

echo "Elements in array2: ${array2[@]}"<br />

echo<br />

echo "Length of first element in array0 = ${#array0}"<br />

echo "Length of first element in array1 = ${#array1}"<br />

echo "Length of first element in array2 = ${#array2}"<br />

echo<br />

echo "Number of elements in array0 = ${#array0[*]}" # 3<br />

echo "Number of elements in array1 = ${#array1[*]}" # 1 (surprise!)<br />

echo "Number of elements in array2 = ${#array2[*]}" # 0<br />

}<br />

# ===================================================================<br />

ListArray<br />

# Try extending those arrays<br />

# Adding an element to an array.<br />

array0=( "${array0[@]}" "new1" )<br />

array1=( "${array1[@]}" "new1" )<br />

array2=( "${array2[@]}" "new1" )<br />

ListArray<br />

# or<br />

array0[${#array0[*]}]="new2"<br />

array1[${#array1[*]}]="new2"<br />

array2[${#array2[*]}]="new2"<br />

ListArray<br />

# When extended as above; arrays are 'stacks'<br />

# The above is the 'push'<br />

# The stack 'height' is:<br />

height=${#array2[@]}<br />

echo<br />

echo "Stack height for array2 = $height"<br />

# The 'pop' is:<br />

unset array2[${#array2[@]}−1] # Arrays are zero based<br />

height=${#array2[@]}<br />

echo<br />

echo "POP"<br />

echo "New stack height for array2 = $height"<br />

ListArray<br />

# List only 2nd and 3rd elements of array0<br />

from=1<br />

# Zero based numbering<br />

to=2 #<br />

declare −a array3=( ${array0[@]:1:2} )<br />

echo<br />

echo "Elements in array3: ${array3[@]}"<br />

# Works like a string (array of characters)<br />

# Try some other "string" forms<br />

<strong>Advanced</strong> <strong>Bash−Scripting</strong> <strong>Guide</strong><br />

# Replacement<br />

declare −a array4=( ${array0[@]/second/2nd} )<br />

echo<br />

echo "Elements in array4: ${array4[@]}"<br />

Chapter 26. Arrays 296

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!