6 Eylül 2018 Perşembe

set komutu

Giriş
Açıklaması şöyle. env ve printenv komutundan farklı olarak export edilen veya edilmeyen tüm değişkenleri gösterir.
If you want to see all variables set in your session, irrespective of whether they have been exported, you can use set
Ayrıca set komutu ile kullanılan seçenekler shebang olarak ta kullanılabilir.  Açıklaması şöyle
All of the single-character shell options documented in the description of the set builtin command, including -o, can be used as options when the shell is invoked. [...]
-m seçeneği
Açıklaması şöyle. Background işleri ön plana getirmek mümkün
Monitor mode. Job control is enabled. This option is on by default for interactive shells on systems that support it (see JOB CONTROL above). Background processes run in a separate process group and a line containing their exit status is printed upon their completion.
Örnek
Şöyle yaparız
#!/bin/bash
set -m
sleep 3 &  # test
sleep 1    # wait some
sleep 4 &  # run program under test
jobs
fg %1
-u seçeneği
Açıklaması şöyle.
This would make the current shell treat expansions of unset variables as an error:
Örnek
Şöyle yaparız.
$ set -u
$ echo "$myvariable"
bash: myvariable: unbound variable
Örnek
Şöyle yaparız.
$ unset build
$ set -u
$ rm -rf "$build"/*
bash: build: unbound variable
-x seçeneği
Kabuğu debug moduna geçirir. Böylece çalıştırılan komutların aslında tam olarak ne olduğunu görebiliriz.
Örnek
Şöyle yaparız.
$ set -x
Daha sonra şöyle yaparız. grep -r "..." mydirectory şeklindeki komutun nasıl açıldığı görülebilir.
$ grep -r "washer" /home/steeldriver/backup/
+ grep --color=auto -r washer /home/steeldriver/backup/
/home/steeldriver/backup/aaa/info.txt:washer
/home/steeldriver/backup/great.txt:washer

Hiç yorum yok:

Yorum Gönder