[[ ]] Üzerinden tercih edilmelidir [ ] bash komut?
Meslektaş bir son zamanlarda bir kod Gözden iddia [[ ]] inşa tercih olmuş olmaları [ ] gibi oluşturur
if [ "`id -nu`" = "$someuser" ] ; then
echo "I love you madly, $someuser"
fi
Bir gerekçe gösteremedi. Kimse yok mu?
CEVAP
[[
daha az sürprizler vardır ve genellikle daha güvenli kullanmak için. Ama taşınabilir değil - Posıx ne yapar, ve bazı deniz kabuğu destek (bash yanında, duydum ksh de destekler) belirtmek yok. Örneğin, bunu yapabilirsiniz
[[ -e $b ]]
bir dosyanın var olup olmadığını test edin. Ama [
ile tartışmayı böler ve "a*"
gibi şeyler [[
kelimenin tam anlamıyla nereye götürecek () genişletir çünkü $b
, alıntı var. Bu da ne ile nasıl [
olabilir harici bir program ve aldığı argüman, sadece normal gibi diğer bütün programı (olsa da yerleşik, ama yine de değil bu özel işlem).
[[
diğer bazı güzel özellikleri, düzenli ifade C gibi dillerde bilindiği gibi operatörler ile birlikte =~
ile eşleşen gibi. Burada bu konuda iyi bir sayfası vardır: What is the difference between test, [
and [[
? Bash Tests
Nasıl bir kullanırken birden çok hatla...
Biliyor script bir Bash komut dosyası ...
Bash geçmiş önceki bir komut kullanara...
Nasıl bir BASH değişken bir komut çıkt...
Nasıl bir bash komut tırnak işaretleri...