24 Haziran 2020 Çarşamba

bash kodlama - set built-in komutu

-- seçeneği
Sanırım command line argument anlamına geliyor.
Örnek
Şöyle yaparız
set -- a b c
temp=$1
shift
echo "$@" "$temp"
-e seçeneği
Açıklaması şöyle.
This will cause the script to terminate early if any command exits with non-zero exit status.
-o seçeneği
Bu seçenek pipefail, vi, emacs, posix gibi bir sürü ilave şey ile kullanılır. Kabuğun hangi modda koşacağını belirtir.

Örnek - pipefail
Açıklaması şöyle.
set the exit status $? to the exit code of the last program to exit non-zero (or zero if all exited successfully).
Açıklaması şöyle.
You use set -o pipefail, which is supported in bash, zsh and ksh and should be included in a future version of the standard. But as explained above, this only affects the value of $? after the pipeline has exited, not within the pipeline itself.
Şöyle yaparız.
$ set -o pipefail
$ false | true; echo $?
1
Örnek - posix
Açıklaması şöyle.
bash will run in POSIX mode when either
- set -o posix has been used, or
- the shell is being invoked as sh.
Örnek - vi
Şöyle yaparız.
set -o vi
Örnek - emacs
Açıklaması şöyle.
For bash and zsh, emacs is the default editing mode. You can also choose vi mode with set -o vi.
Şöyle yaparız.
set -o emacs
-x seçeneği
İşletilen komutları da ekrana yazar.

Örnek
Elimizde şöyle bir kod olsun. Burada her bir komutun + ile başlayan satıra yazdırıldığını görebiliriz. En son satırda ise tüm komutun sonucu olan çıktı satırı görülebilir.
> set -x
> echo 9_00 | grep 9\.00
+ echo 9_00
+ grep 9.00
9_00
-v seçeneği
Açıklaması şöyle.
-v      Print shell input lines as they are read.
Yazılan komutu tekrar eder. Kapatmak için "set +v" yaparız. Özelliği görmek için şöyle yaparız.
# ls
ls
Desktop  Documents  Downloads 

# date
date
Mon Mar 19 11:24:59 EDT 2018

# echo "Hello, world!"
echo "Hello, world!" 
Hello, world!

Hiç yorum yok:

Yorum Gönder