Giriş
1. Array Tanımlamak
array tanımlamak için iki yöntem var
1. declare -a kullanmak
2. =(...) kullanmak
declare - a
Şöyle yaparız.
Örnek
Açıklaması şöyle
Şöyle yaparız
# Karakteri
Açıklaması şöyle
Örnek
Şöyle yaparız.
Örnek
Şöyle yaparız.
Tüm Diziyi Dolaşmak - "${arr[@]}" veya "${arr[*]}" Karakterleri
Array Expansion yazısına taşıdım
1. Array Tanımlamak
array tanımlamak için iki yöntem var
1. declare -a kullanmak
2. =(...) kullanmak
declare - a
Şöyle yaparız.
declare -a obj
obj+=("val1")
obj+=("val2")
for item in ${obj[@]}; do
echo "${obj[${item}]} ${item}"
done
declare -n ile değişkene referans alınır. Şöyle yaparız.$ spam="fred"
$ declare -n tripe=spam
$ echo $tripe
fred
$ tripe=juki
$ echo $spam
juki
2. =(...) KullamakÖrnek
Açıklaması şöyle
You can store the current directory’s files in an array as follows:Şöyle yaparız.
items=(*)
ÖrnekŞöyle yaparız
#!/bin/bash
var=ON
cmd=( /home/username/myscript ) # create array with one element
if [ "$var" == "ON" ]; then
cmd+=( -a ) # append to the array
fi
cmd+=( -b 76 ) # append two elements
3. Array Kullanmak# Karakteri
Açıklaması şöyle
The # is often used in bash to count the number of occurrences or the length of a variable.Dizinin Uzunluğunu Bulma-${#array[@]} Karakteri
Örnek
Şöyle yaparız.
myArr=(A B C); echo ${#myArr[@]}
Sonuç olarak 3 alırız.Örnek
Şöyle yaparız.
myArr=(A B C); echo ${#myArr[0]}
İlk eleman olan A'nın uzunluğunu verir. Sonuç olarak 1 alırız.
Örnek
Elimizde şöyle bir dizi olsun.
Örnek
Elimizde şöyle bir dizi olsun.
array[0]="Shields at 90%"
array[1]="Engaging proton overdrive"
array[2]="Autopilot disengaged"
array[3]="Targetting solution available"
array[4]="Alert. Incoming missile."
array[5]="Deploying countermeasures."
array[6]="Firing torpedoes."
array[7]="Engaging auto-cannon."
array[8]="Severe damage on deck 17. Sealing off."
array[9]="Deploying repair droids to deck 17."
line=${array[$RANDOM % ${#array[@]}]}
speech "$line"
.bashrc dosyasına şöyle yaparız. Böylece terminalden her komut çalıştırdığımızda farklı bir ses çıkarır.PROMPT_COMMAND="bash $HOME/PATH/TO/myscript.sh"
String'in Uzunluğunu Bulma
Şöyle yaparız.myvar="some string"; echo ${#myvar}
Sonuç olarak 11 alırız.Tüm Diziyi Dolaşmak - "${arr[@]}" veya "${arr[*]}" Karakterleri
Array Expansion yazısına taşıdım
Diziden Çıkartma Yapmak
Şöyle yaparız. $# -1 ile en son elemana erişiriz.
local argv=( "$@" )
local last="${argv[$# - 1]}"
argv=( "${argv[@]:0:$# - 1}" )
+=(...) şeklinde yapılır.
Örnek
Şöyle yaparız.
# this.txt first line is [Test this]
# another.txt first line is [Test another]
paths=(
./this/path/this.txt
./another/path/another.txt
)
for i in ${paths[@]}; do
read -r line < $i
lines+=("$line")
done
Hiç yorum yok:
Yorum Gönder