Giriş
built-in commands için Kısıtlı bir liste şöyle.
alias built-in komutu yazısına taşıdım.
. built-in komutu
Type komutu ile kontrol edersek şu çıktıyı alırız.
: (No Effect) built-in komutu yazısına taşıdım
built-in commands için Kısıtlı bir liste şöyle.
. continue getopts readonly type
: echo hash return ulimit
[ eval jobs set umask
alias exec kill shift unalias
bg exit local test unset
break export printf times wait
cd false pwd trap
command fg read true
Bir komutun gömülü metod olup olmadığını anlamak için şöyle yaparız.bash-4.3$ type :
: is a shell builtin
veya şöyle yaparız.$ command -V true false
true is a shell builtin
false is a shell builtin
alias built-in komutualias built-in komutu yazısına taşıdım.
. built-in komutu
Type komutu ile kontrol edersek şu çıktıyı alırız.
. is a shell builtin
: built-in komutu: (No Effect) built-in komutu yazısına taşıdım
command built-in komutu
command built-in komutu yazısına taşıdım
command built-in komutu yazısına taşıdım
exec built-in komutu yazısına taşıdım.
exit built-in komutu
exit built-in komutu yazısına taşıdım.false built-in komutu
true ve false built-in komutları yazısına taşıdım.
local built-in komutu
değişkenin scope'unu metod yapar. Bu komutu kullanırken her zaman "declare and assign separately" kuralına dikkat etmek gerekir.
Örnek
Şu kod yanlış.
function my_fun() {
ocal output=$(ls no_file_here_buddy)
cho $? # returns 0
on_local_var=$(ls no_file_here_buddy)
echo $? # returns 2
}
Açıklaması şöyle.The exit status of the command is overridden by the exit status of the creation of the local variable.Şöyle yaparız.
local output
output=$(ls no_file_here_buddy)
echo $?
ÖrnekŞöyle yaparız.
foo(){
local name
name="$1"
echo "$name"
}
Eğer global olsun istersek şöyle yaparız.#!/bin/bash
name="$1"
echo "$name"
printf komutuprintf built-in komutu yazısına taşıdım.
read built-in komutu
read built-in komutu yazısına taşıdım.
shift built-in komutu
shift built-in komutu yazısına taşıdım.
set built-in komutu
set built-in komutu yazısına taşıdım.
trap built-in komutu
trap built-in komutu yazısına taşıdım.
true built-in komutu
true ve false built-in komutları yazısına taşıdım.
unset built-in komutu
Örnek
Şöyle yaparız.
Çalıştırılan komutların bitmesini bekler. Açıklaması şöyle.
Şöyle yaparız. Bu örnekte çalıştırılan perl komutuna üst sınır konulmuyor. Kaç tane txt dosyası varsa o kadar perl çalıştırılıyor.
Açıklaması şöyle. Bu seçenek yerine sanırım wait "$!" seçeneği de kullanılabilir.
Şöyle yaparız.
set built-in komutu yazısına taşıdım.
trap built-in komutu
trap built-in komutu yazısına taşıdım.
true built-in komutu
true ve false built-in komutları yazısına taşıdım.
unset built-in komutu
Örnek
Şöyle yaparız.
unset myvariable # unset so that it doesn't inherit a value from the environment
wait built-in komutuÇalıştırılan komutların bitmesini bekler. Açıklaması şöyle.
Örnekf ID is not given, waits for all currently active child processes, and the return status is zero.
Şöyle yaparız. Bu örnekte çalıştırılan perl komutuna üst sınır konulmuyor. Kaç tane txt dosyası varsa o kadar perl çalıştırılıyor.
for f in file*.txt; do
perl dataProcessing.pl "$f" &
done
# wait for them to complete
wait
echo "All done."
-n seçeneğiAçıklaması şöyle. Bu seçenek yerine sanırım wait "$!" seçeneği de kullanılabilir.
ÖrnekIf the -n option is supplied, waits for the next job to terminate and returns its exit status.
Şöyle yaparız.
$ bash -exc '(sleep 1; exit 1) & wait -n; echo $?:done'
+ wait -n
Hiç yorum yok:
Yorum Gönder