Test (Unix) - Test (Unix)

Ölçek
Diğer isimler[
Geliştirici (ler)Çeşitli açık kaynak ve ticari geliştiriciler
İşletim sistemiUnix, Unix benzeri, Plan 9, IBM i
TürKomut
LisansCoreutils: GPLv3 +

Ölçek bir Komut satırı yardımcı program bulundu Unix, Plan 9, ve Unix benzeri değerlendiren işletim sistemleri koşullu ifadeler. Ölçek 1981'de bir kabuk yerleşik komutuna dönüştürüldü UNIX Sistemi III ve aynı zamanda alternatif ad altında kullanıma sunuldu [.[1]

Genel Bakış

Ölçek Unix'teki komut, ifade parametre. En son kabuk uygulamalarında, bir kabuk yerleşik, harici sürüm hala mevcut olsa bile. Komutun ikinci biçiminde, [ ] (parantez) boşluklarla çevrelenmelidir (bunun nedeni [ bir programdır ve POSIX uyumlu kabuklar, program adı ve argümanları arasında bir boşluk gerektirir). Dosya adları için açıkça test edilmelidir. C kabuğu. Dosya adı ikamesi (Globbing ) kabuk betiğinin çıkmasına neden olur.

Ölçek komut ile karıştırılmamalıdır [[ ksh88 ile tanıtılan ayrılmış sözcük. İkincisi bir komut değil, ksh88 sözdiziminin bir parçasıdır ve glob ifadelerine dosya adı ikamesi uygulamaz.

Versiyonu Ölçek paketlenmiş GNU Coreutils Kevin Braunsdorf ve Matthew Bradburn tarafından yazılmıştır.[2] Ölçek komut aynı zamanda IBM i işletim sistemi.[3]

Sözdizimi

Ölçek ifade

veya

[ ifade ]

Argümanlar

Bu parametreyi oluşturmak için aşağıdaki bağımsız değişkenler kullanılır:

-e FileName - FileName mevcut

Nesne (dosya veya dize) varsa ve belirtilen koşul doğruysa, kalan tüm bağımsız değişkenler true değerini döndürür.

-b Dosya Adı - Belirtilen Dosya Adı mevcutsa ve bir blok özel dosyaysa True çıkış değeri döndürür-c FileName - FileName bir karakter özel dosyası-d FileName - FileName bir dizin-f FileName - FileName normal bir dosyadır-g FileName - DosyaAdı Kümesi Grup kimliği bit ayarlandı-h FileName - FileName bir sembolik bağlantı-k FileName - FileName'in yapışkan biti ayarlandı-L FileName - FileName bir sembolik bağlantı-p FileName - FileName bir adlandırılmış boru (FIFO)-r FileName - FileName mevcut işlem tarafından okunabilir-s FileName - FileName, 0'dan büyük bir boyuta sahip-t FileDescriptor - FileDescriptor açık ve bir terminal-u FileName - DosyaAdı Kümesi Kullanıcı kimliği bit ayarlandı
-w FileName - FileName'in yazma bayrağı açık. Ancak, test true gösterse bile FileName salt okunur bir dosya sistemine yazılamaz
-x FileName - DosyaAdı yürütmek bayrak açık Belirtilen dosya varsa ve bir dizinse, Doğru çıkış değeri, mevcut işlemin değiştirme iznine sahip olduğunu gösterir CD dizine.

Standart dışı Korn Kabuğu uzantılar:

dosya1 -nt dosya2 - dosya1, dosya2dosyası1'den daha yeni -o dosya2 - dosya1, dosya2dosyası1'den daha eski -ef dosya2 - dosya1, dosya2 için başka bir addır - (sembolik bağlantı veya sabit bağlantı )

Dize argümanları

İçinde Perl, bu bölümler tersine çevrilmiştir: eq bir dize operatörüdür ve == sayısal bir operatördür ve diğerleri için böyle devam eder.

-n Dize1 - Dize1 değişkeninin uzunluğu sıfırdan farklıdır-z Dize1 - Dize1 değişkeninin uzunluğu 0 (sıfır) Dize1 = Dize2 - Dize1 ve Dize2 değişkenleri aynıdır != Dize2 - Dize1 ve Dize2 değişkenleri aynı değilDize1 - Dize1 değişkeni boş bir dize değilse doğru

Sayı bağımsız değişkenleri

Tamsayı1 -eq Tamsayı2 - Tamsayı1 ve Tamsayı2 değişkenleri cebirsel olarak eşit-ne - eşit değil-gt - büyüktür-ge - daha büyük veya eşit -lt - daha az-le - daha az veya eşit

Operatörler

Ölçek bağımsız değişkenler aşağıdaki operatörlerle birleştirilebilir:

! - Tekli olumsuzlama operatörü-a - İkili VE operatörü - İkili OR operatörü ( -a operatörden daha yüksek önceliğe sahiptir  Şebeke) (İfade ) - Gruplama için parantezler ters eğik çizgiyle önlenmelidir \

-a ve operatörler, gruplama için parantezlerle birlikte XSI uzantılarıdır[4] ve bu nedenle taşınabilir değildir. Taşınabilir kabuk komut dosyalarında, aynı etki, birden çok çağrının bağlanmasıyla elde edilebilir. Ölçek ile birlikte && ve || operatörler ve parantezler.

Çıkış durumu

Bu komut aşağıdaki çıkış değerlerini döndürür:

0 - İfade parametresi doğrudur1 - İfade parametresi yanlış veya eksik>1 - Bir hata oluştu

Örnekler

1. Bir dosyanın var olmadığını veya boş olup olmadığını test etmek için şunu yazın:

 Eğer Ölçek ! -s "$1" sonra   Eko $1 yok veya boş. fi

Kabuk prosedürüne ilk konumsal parametre ile belirtilen dosya $ 1 yoksa veya 0 boyutundaysa, test komutu mesajı görüntüler. $ 1 varsa ve boyutu 0'dan büyükse, test komutu hiçbir şey göstermez.

Not: -s işlevi ve dosya adı arasında bir boşluk olmalıdır.

$ 1 çevresindeki tırnak işaretleri, $ 1 değeri boş bir dize olsa bile testin düzgün çalışmasını sağlar. Tırnak işaretleri atlanırsa ve $ 1 boş dizeyse, test komutu hata mesajını görüntüler:

test: argüman bekleniyor.

2. Karmaşık bir karşılaştırma yapmak için şunu yazın:

 Eğer [ "$#" -lt 2 ] || ! [ -e "$1" ] sonra   çıkış fi

Kabuk prosedürüne ikiden az konumsal parametre verilirse veya $ 1 ile belirtilen dosya mevcut değilse, kabuk prosedürü çıkar. Özel kabuk değişkeni $ #, bu kabuk prosedürünü başlatan komut satırına girilen konumsal parametre sayısını temsil eder.

Ayrıca bakınız

Referanslar

  1. ^ http://www.in-ulm.de/~mascheck/bourne/#system3 Bourne Shell, Sistem III ile değişir
  2. ^ test (1) - coreutils - Debian buster - Debian Manpages
  3. ^ IBM. "IBM System i Sürüm 7.2 Programlama Qshell" (PDF). Alındı 2020-09-05.
  4. ^ IEEE Std 1003.1, 2004, belgeler Ölçek

daha fazla okuma

Dış bağlantılar