Bash ()(())[][[]]{}

Bash ()(())[][[]]{}

Teymur Gahramanov

Linux administrator pozisiyası üçün məşhur suallardan biri fərqli mötərizələrin izahı ilə bağlıdır.


() - Komandanı subshell-də icra edir amma təyin olunan var-lar və env-lər itəcək.

username="teymur"
( username="tayson"; mkdir $username )
echo $username
# => teymur
ls
# =>
# => tayson/

$() - Komandanı subshell-də icra edib nəticəsini string-ə çevirmək

username="$( whoami )"
echo "My name is $username"
# => My name is teymur

(()) - Riyazi əməliyyatlar edir və yalnız exit code qaytarır. Əməliyyatın nəticəsi 0 deyilsə, exit code 0 yani success olacaq. Nəticə 0 olsa, exit code 1 olacaq.

$(()) - Riyazi əməliyyatlar etmək və nəticəsini saxlamaq

[] - Nəyisə yoxlamaq üçün, əsasən if-lərdə istifadə olunur. Məs: [ -f "$file1" -a \( -d "$dir1" -o -d "$dir2" \) ]

[[]] - Bunun [] daha geniş versiyasıdı, regex-lərə mötərizələrə true/false testlərə icazə verir. Məs: [[ -f $file1 && ( -d $dir1 || -d $dir2 ) ]]

{} - Belə şeylər üçün t{a,r,r,t}or folder{1..5}

${} - Bunun funksiyaları çoxdur

Report Page