Giriş
Açıklaması şöyle. [ ...] test işlemi sadece değişkenler için kullanılır.
Değişken kullanmak için şöyle yaparız.
Şu kod, ps alt komutu [...] içinde kullandığı için hata verir.
Örnek
Sonsuz döngü kurmak için şöyle yaparız.
Sonsuz döngü kurmak için şöyle yaparız. Bu sefer true yerine built-in command olan ":" kullanılıyor.
Komutun exit kodunu kullanarak dosyanın tüm satırlarını okumak için şöyle yaparız.
Örnek
Break ile çıkmak için şöyle yaparız.
Script'e verilen parametreleri parse etmek için şöyle yaparız.
Açıklaması şöyle. [ ...] test işlemi sadece değişkenler için kullanılır.
Örnek[ .. ] is not part of shell syntax like if statements. It is not equivalent to parentheses in C-like languages, if (foo) { bar; }, and should not be wrapped around commands to test.[ is just regular command, like whoami or grep, but with a funny name (see ls -l /bin/[). It's a shorthand for test.If you want to check the exit status of a certain command, use that command directly.If you want to check the output of a command, use "$(..)" to get its output, and then use test or [/[[ to do a string comparison:
Değişken kullanmak için şöyle yaparız.
#!/bin/bash
COUNTER=0
while [ "$COUNTER" -lt 10 ] && ps aux | grep -q "[r]elayevent.sh" ; do
sleep 3
let COUNTER+=1
done
ÖrnekŞu kod, ps alt komutu [...] içinde kullandığı için hata verir.
COUNTER=0
while [ ps aux | grep "[r]elayevent.sh" ] && [ "$COUNTER" -lt 10 ]; do
sleep 3
let COUNTER+=1
done
Örnek
Aynı değişkeni iki farklı değerler karşılaştırmak için şöyle yaparız
while [ "$choice" != "yes" ] && [ "$choice" != "no" ]
Sonsuz döngü kurmak için şöyle yaparız.
#!/bin/bash
while true; do
echo "something" >> bash.txt
done
ÖrnekSonsuz döngü kurmak için şöyle yaparız. Bu sefer true yerine built-in command olan ":" kullanılıyor.
while :
do
something
done
Şöyle yaparız.while :
do
sleep 10
done
ÖrnekKomutun exit kodunu kullanarak dosyanın tüm satırlarını okumak için şöyle yaparız.
#!/bin/bash
while IFS='' read -r line || [[ -n "$line" ]]; do
echo "Text read from file: $line"
done < "$1"
Aynı satırları silmek için buradaki kod kullanılabilir.Örnek
Break ile çıkmak için şöyle yaparız.
#!/bin/bash
while true
do
echo "Please input anything here: "
read INPUT
if [ `expr $INPUT % 5` -eq 0 ]; then
echo "you entered wrong"
break
else
echo "you entered right"
fi
done
ÖrnekScript'e verilen parametreleri parse etmek için şöyle yaparız.
while getopts ":d:f:p:e:" o; do
case "${o}" in
d)
SDOMAIN=${OPTARG}
;;
f)
FROM=${OPTARG}
;;
p)
PAGER=${OPTARG}
;;
e)
DESTEXT=${OPTARG}
;;
*)
show_usage
;;
esac
done
Hiç yorum yok:
Yorum Gönder