Tam veya masaüstü Solaris 11 kurulumunda üç awk uygulama ve bazı varyantlar vardır:
/ usr / bin / awk pkg: /system/core-os@0.5.11-0.175.3.1.0.2.0
/ usr / bin / nawk pkg: /system/core-os@0.5.11-0.175.3.1.0.2.0
/ usr / bin / oawk pkg: /system/core-os@0.5.11-0.175.3.1.0.2.0
/ usr / gnu / bin / awk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
/ usr / bin / gawk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
/ usr / bin / igawk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
/ usr / bin / pgawk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
/ usr / xpg4 / bin / awk pkg: /system/xopen/xcu4@0.5.11-0.175.3.0.0.30.0
Farklı standartlara uymakla birlikte hepsi "standartlara uygundur".
/usr/bin/awkawk1977 yılında piyasaya sürülen eski UNIX uygulamasıyla awkuyumludur. Varsayılan sürüm PATH'de, daha sonraki sürümler kopma uyumluluğu nedeniyle mevcut komut dosyalarını bozmamak için ilk olarak tutulur . oawkeş anlamlısıawk
/usr/bin/nawkawk1986 yılında SVR3.1'de gönderilen "yeni" sürümüdür . AwkPOSIX standardı bu uygulamaya dayanmaktadır. /usr/xpg4/bin/awköncekiyle neredeyse aynıdır, ancak POSIX uygunluk doğrulama testlerine karşı resmi olarak kontrol edilen ile hemen hemen aynıdır.
/usr/gnu/bin/awk, ayrıca /usr/bin/gawkGNU varyantıdır awk. Ortam değişkeni çevreye POSIXLY_CORRECTayarlandığında veya -W posixseçenekle çağrıldığında POSIX standardının çoğuna veya tamamına uymayı amaçlamaktadır, ancak aksi takdirde çok sayıda özel kendi uzantısı ekler. igawkve pgawkkendileri için uzantılar gawk, birincisi destek dosyaları içerir ve ikincisi profil oluşturmayı destekler.
Birçok yararlı bilgi için GNU awkgeçmişi bölümüne de bakın .
Sadece core-ospaketleri böylece sadece bir Solaris 11 normal yüklemesinde mevcut olmasını garanti altına alınmıştır oawk/awkve nawkvardır. Özellikle, yeni bir global olmayan bölge oluşturduğunuzda , varsayılan olarak solaris-small-servergrup paketini içerir, böylece ne ikili dosyalar xpg4ne de gnu awkikili dosyalar kullanılabilir. Bu tasarım gereğidir. solaris-small-serverGrup düzgün çalışması için uygulamalar için gerekli olan paketler eklemek hangi minimal bir başlangıç noktasıdır. Bu, küresel bölgede yüklü olan her şeyin küresel olmayan bir alana da yüklendiği önceki (Solaris 10) yolundan daha güvenli ve verimlidir, bu nedenle bölgeyi en aza indirmek istediğinizde kullanılmayan paketleri kaldırmanız gerekir.
awkBöyle bir "küçük sunucu" kurulumunda POSIX desteğini taşınabilir bir şekilde almak için, xcu4paketi yüklemeniz ve YOLUNUZU POSIX uyumlu olana ayarlamanız gerekir :
pkg install xcu4
PATH=$(getconf PATH):$PATH
Meli o paketi yüklemek istemiyorum nedense, bir geçici çözüm "kişiye özel" kullanmaktır PATHiçeren nawkolarak awkörneğin:
mkdir -p /opt/posix/bin
cp /usr/bin/nawk /opt/posix/bin/awk
PATH=/opt/posix/bin:$PATH
Alternatif olarak, ilk önce onu kurabilir GNU awkve ayarlayabilirsiniz PATH:
pkg install gawk
PATH=/usr/gnu/bin:$PATH
Bunun Solaris 11'e özgü olmadığını unutmayın. Solaris 10 ve önceki sürümlerinde benzer bir paket grubu zaten mevcuttu ve POSIX uyumlu yardımcı programlar yalnızca "Son Kullanıcı", "Geliştirici" ve "Tam kurulum" metaclusters'larına kuruldu. "Çekirdek" veya "Ağ desteği" metacluster ile yüklenmiş bir sistem veya bölge olması, aynı xpg4eksik soruna yol açacaktır .
Ayrıca /usr/xpg4/bin/awkSolaris 11 sistemindeki eksikliğin POSIX uyumluluk hatası olmadığını da unutmayın. Açık Grup sertifika programı da dahil olmak üzere Oracle ve ISV'ler tarafından gerçekleştirilen testlerin büyük çoğunluğunda yalnızca tam Solaris kurulumları kullanılır . Azalan kurulumlar desteklenir, ancak nitelikli değildir .
Solaris 11 için kabuk komut dosyalarını (veya kabuk komut dosyalarını / arama kabuğu komutlarını gömen uygulamaları) dağıtırsanız /system/xopen/xcu4, IPS paketinde bir bağımlılık olarak tanımlamanız gerekir ve yükleyici, komut dosyasının düzgün çalışması için gerekenleri otomatik olarak yapar:
depend fmri=pkg:/system/xopen/xcu4 type=require
Bkz. Https://docs.oracle.com/cd/E53394_01/html/E54820/dependtypes.html
/usr/xpg4/bin/awkSolaris 11'de değil mi?nawk"yeniawk", geliştirilmiş AT&Tawk.