Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut pathchkposix'tir.
Program:
ADI
pathchk - yol adlarını kontrol edin
SİNOPSİS
yol tarifi [-p] [-P] yol adıKendi ID’n ile mağazalarını oluştur
TANIM
The yol tarifi yardımcı program, bir veya daha fazla yol adının geçerli olduğunu kontrol edecektir (yani,
sözdizimi hatalarına neden olmadan bir dosyaya erişmek veya bir dosya oluşturmak için kullanılabilir) ve taşınabilir (yani,
dosya adı kesme sonucu yok). tarafından daha kapsamlı taşınabilirlik kontrolleri sağlanmaktadır. -p
ve -P seçenekleri.
Varsayılan olarak, yol tarifi yardımcı program, her birinin her bir bileşenini kontrol edecektir. yol adı işlenen tabanlı
temel dosya sisteminde. Her biri için bir teşhis yazılacaktır. yol adı işlenen
ki:
* {PATH_MAX} bayttan uzun (bkz. Yol adı Değişken Değerler Temel Tanımlarda
POSIX.1‐2008 hacmi, )
* İçinde bulunduğu dizinde {NAME_MAX} bayttan daha uzun herhangi bir bileşen içerir
* Bir dizinde aranamayan herhangi bir bileşen içerir
* İçinde bulunduğu dizinde geçerli olmayan herhangi bir bayt dizisini içerir
Teşhis mesajının formatı belirtilmemiştir, ancak hatayı belirtmelidir.
tespit edildi ve ilgili yol adı işlenen.
Bir veya daha fazla bileşenin bir bileşeninin olması bir hata olarak kabul edilmeyecektir. yol adı işlenen yok
eksik bileşenler tarafından belirtilen yol adıyla eşleşen bir dosya olduğu sürece mevcut
yukarıda belirtilen kontrollerin hiçbirini ihlal etmeyen oluşturuldu.
SEÇENEKLER
The yol tarifi yardımcı program, POSIX.1‐2008'in Temel Tanımlar hacmine uygun olacaktır, Bölüm
12.2, Yarar Sözdizimi Kuralları.
Aşağıdaki seçenek desteklenecektir:
-p Temeldeki dosya sistemine dayalı kontroller yapmak yerine, bir
her biri için teşhis yol adı işlenen:
* {_POSIX_PATH_MAX} bayttan uzun (bkz. asgari Değerler Üssünde
POSIX.1‐2008 tanımları hacmi, )
* {_POSIX_NAME_MAX} bayttan uzun tüm bileşenleri içerir
* Herhangi bir bileşende taşınabilir dosya adında olmayan herhangi bir karakter içerir
karakter seti
-P Her biri için bir teşhis yazın yol adı işlenen:
* İlk karakteri şu olan bir bileşen içerir: karakter
* Boş
İŞLENENLER
Aşağıdaki işlenen desteklenecektir:
yol adı Kontrol edilecek bir yol adı.
STDIN
Kullanılmamış.
GİRİŞ DOSYALAR
Yok.
ÇEVRE DEĞİŞKENLER
Aşağıdaki ortam değişkenleri, aşağıdakilerin yürütülmesini etkiler: yol tarifi:
DİL Ayarlanmamış veya ayarlanmamış uluslararasılaştırma değişkenleri için varsayılan bir değer sağlayın.
boş. (Bkz. POSIX.1‐2008'in Temel Tanımlar cildi, Bölüm 8.2,
Uluslararasılaşma Değişkenler uluslararasılaştırma değişkenlerinin önceliği
yerel kategorilerin değerlerini belirlemek için kullanılır.)
LC_ALL Boş olmayan bir dize değerine ayarlanırsa, diğer tüm değerlerin değerlerini geçersiz kılın
uluslararasılaştırma değişkenleri.
LC_CTYPE Metin verisi bayt dizilerinin yorumlanması için yerel ayarı belirleyin
karakter olarak (örneğin, çoklu bayt karakterlerin aksine tek bayt
argümanlar).
LC_MESSAGES
biçimini ve içeriğini etkilemek için kullanılması gereken yerel ayarı belirleyin.
standart hataya yazılan teşhis mesajları.
NLSPATH İşleme için mesaj kataloglarının yerini belirleyin. LC_MESSAGES.
ASENKRON ETKİNLİKLER
Varsayılan.
STDOUT
Kullanılmamış.
STDER
Standart hata sadece teşhis mesajları için kullanılacaktır.
ÇIKTI DOSYALAR
Yok.
GENİŞLETİLMİŞ TANIM
Yok.
EXIT DURUMU
Aşağıdaki çıkış değerleri döndürülecektir:
0 Hepsi yol adı işlenenler tüm kontrolleri geçti.
>0 Bir hata oluştu.
SONUÇLARI OF HATALAR
Varsayılan.
The takip etme bölümler vardır bilgilendirici.
BAŞVURUSU KULLANIM
The test yardımcı program, belirli bir yol adının mevcut bir dosyayı adlandırıp adlandırmayacağını belirlemek için kullanılabilir;
bununla birlikte, yol adının herhangi bir bileşeninin olup olmadığına dair herhangi bir gösterge vermez.
_POSIX_NO_TRUNC özelliğinin etkin olmadığı bir dizinde kesildi. NS
yol tarifi yardımcı program dosya varlığını kontrol etmez; olup olmadığını belirlemek için kontroller yapar.
bir yol adı var veya yol adı bileşeni kesilmeden oluşturulabilir.
The noklobber kabuktaki seçenek (bkz. set özel yerleşik) atomik olarak kullanılabilir
bir dosya oluşturun. Sistem Arayüzleri birimindeki tüm dosya oluşturma semantiklerinde olduğu gibi
POSIX.1‐2008, atomik yaratımı garanti eder, ancak yine de üzerinde anlaşmaya varılacak uygulamalara bağlıdır
sözleşmeler ve oluşturulduktan sonra dosyaların kullanımı konusunda işbirliği yapmak.
Bir yol adının dosya adı taşınabilirliği gereksinimlerini karşıladığını doğrulamak için uygulamalar
her ikisini de kullanmalı -p ve -P seçenekler birlikte.
ÖRNEKLER
İçe aktarılan bir veri değişim arşivindeki tüm yol adlarının meşru olduğunu ve
mevcut sistemde açık:
# Bu örnek varsayar o yok hayır yol adları in the arşiv
# içermek karakterler.
pax -f arşiv | susuzluk -e 's/[^[:alnum:]]/\\&/g' | xargs yol tarifi -
if [ $? -eq 0 ]
sonra
pax -r -f arşiv
başka
kaçırmak İncelemek sorunlar önce ithal dosyaları.
çıkış 1
fi
Geçerli dizin hiyerarşisindeki tüm dosyaların herhangi bir sisteme taşınabileceğini doğrulamak için
POSIX.1‐2008'in Sistem Arabirimleri hacmine uygun olarak, aynı zamanda aşağıdakileri de destekler: pax
Yarar:
bulmak . -yürütme yol tarifi -p -P {} +
if [ $? -eq 0 ]
sonra
pax -w -f ../Arşiv .
başka
kaçırmak Taşınabilir arşiv Amerika’ya vize ile ya da Meksika üzerinden geldikten sonra ilticaya başvuran kişileri, herhangi bir suça karışmadıkları sürece mahkeme kararı olmadan sınır dışı (deport) ettiremez. be hazırlandı.
çıkış 1
fi
Kullanıcı tarafından sağlanan bir yol adının okunabilir bir dosyaya ad verdiğini ve uygulamanın
verilen yolu kesmeden ve üzerine yazmadan uzatan bir dosya oluşturun
mevcut dosya:
dava $– in
*C*) sıfırla="";;
*) sıfırla="ayarla +C"
set -C;;
esac
test -r "$yol" && yol tarifi "$path.out" &&
rm "$path.out" > "$path.out"
if [ $? -ne 0 ]; sonra
printf "%s: %s değil bulundu or %s.dışarı başarısız \
oluşturma kontrol eder.\n" $0 "$yol$yol"
$sıfırla # Reset the noklobber seçenek in dava a tuzak
# on EXIT bağlıdır on bunu.
çıkış 1
fi
$sıfırla
İŞLEME < "$yol" > "$path.out"
Bu örnekte aşağıdaki varsayımlar yapılmıştır:
1. İŞLEME kullanmak için uygulama tarafından kullanılan kodu temsil eder $yol bir kere
doğruladı $yol.out istendiği gibi çalışır.
2. Devletin durumu noklobber Bu kod çağrıldığında seçenek bilinmiyor ve
çıkışta bu kod çağrıldığında bulunduğu duruma ayarlanır. (NS ayarlamak değişken
bu örnekte ilk durumu geri yüklemek için kullanılmıştır.)
3. Şunların kullanımına dikkat edin:
rm "$path.out" > "$path.out"
a. yol tarifi komut zaten bu noktada doğruladı, $yol.out değil
kesilmiş.
B. İle noklobber seçenek kümesi, kabuk doğrular $yol.out zaten değil
çağırmadan önce var rm.
C. Kabuk oluşturmayı başardıysa $yol.out, rm kaldırır, böylece
uygulama dosyayı yeniden oluşturabilir. İŞLEME adım.
NS. Eğer İŞLEME adım, dosyanın çağrıldığında zaten var olmasını istiyor:
rm "$path.out" > "$path.out"
ile değiştirilmelidir:
> "$path.out"
bu, dosyanın zaten var olmadığını doğrular, ancak bırakır $yol.out yerinde
Tarafından kullanılacak İŞLEME.
GEREKÇESİ
The yol tarifi yardımcı programı ISO POSIX-2:1993 standardı için yeniydi. O, ile birlikte set
-C(noklobber) seçeneği kabuğa eklendi, mktemp, geçerli, ve yaratmak
erken tekliflerde ortaya çıkan yardımcı programlar. Tüm bu yardımcı programlar çözme girişimleriydi.
birkaç yaygın sorun:
* Bir yol adının geçerliliğini ("geçerli"nin birkaç farklı tanımı için) doğrulayın
bir kullanıcı tarafından sağlanan, bir uygulama tarafından oluşturulan veya harici bir kaynaktan içe aktarılan.
* Atomik bir dosya oluşturun.
* Geçici bir dosya adı oluşturmak için çeşitli dize işleme işlevleri gerçekleştirin.
The yaratmak Erken bir teklife dahil olan yardımcı program, kontrol ve atomik oluşturma sağladı
yardımcı programın tek bir çağrısında; bunlar ortogonal sorunlardır ve gruplandırılmaları gerekmez
tek bir yardımcı programa dönüştürün. Şuna dikkat edin: noklobber seçeneği ayrıca bir
süreç senkronizasyonu için kilit; atomik bir yapı sağladığı için yaratmak, ırk yok
bir varoluş testi ile eğer mevcut değilse, bir sonraki yaratılış arasında.
gibi bir işleve sahip olmak tmpnam() ISO C standardında birçok üst düzey önem arz etmektedir.
Diller. Bununla birlikte, kabuk programlama dili, yerleşik dize işlemeye sahiptir.
tesisler, geçici dosya adları oluşturmayı çok kolaylaştırır. gereken isimler
açıkça uygulamaya bağlıdır, ancak genellikle aşağıdakilere benzer bir biçimdedir:
$TMPDIR/uygulama_kısaltması$$.sonek
Belirli bir son ek için çekişme olması muhtemel durumlarda, basit bir kabuk için or
süre döngü kabuk ile kullanılabilir noklobber riski olmayan bir dosya oluşturma seçeneği
aynı dosya adı alanını kullanmaya çalışan uygulamalar olduğu sürece çakışmalar
oluşturulduktan sonra dosyaların kullanımı konusunda işbirliği yapmak.
Tarihsel amaçlar için, -p kullanımını kontrol etmez. olarak karakter
yol adının bir bileşenindeki ilk karakter veya boş bir yol adı işlenen.
GELECEK TARİFİ
Yok.
onworks.net hizmetlerini kullanarak pathchkposix'i çevrimiçi kullanın