Env (Unix)
Genel Kullanımenv komutu temel olarak iki ana işlev için kullanılır:
Varsayılan olarak hiçbir argüman verilmediğinde, env mevcut ortam değişkenlerini anahtar-değer çiftleri biçiminde standart çıktıya yazar. $ env
PATH=/usr/bin:/bin
HOME=/home/kullanici
LANG=en_US.UTF-8
...
Alternatif olarak, bir veya daha fazla `anahtar=değer` çiftinden sonra gelen bir komut belirterek bu komutun sadece bu geçici ortam altında çalıştırılması sağlanabilir: $ env VAR1=foo VAR2=bar ./uygulama
Bu, kalıcı olarak sistem ortamını değiştirmeden belirli görevleri gerçekleştirmek için oldukça kullanışlıdır. Shebang Kullanımıenv komutunun önemli bir kullanım alanı, Unix sistemlerde kullanılan shebang (`#!`) yapısında yorumlayıcının yolunu belirtmek için tercih edilmesidir. Bu kullanımda env, sistemin PATH ortam değişkeni içinde yorumlayıcıyı bulur: #!/usr/bin/env python3
Bu yöntem, yorumlayıcının sabit bir konuma bağımlı kalmadan çalışmasını sağlar, böylece betiklerin taşınabilirliği artar.[2] POSIX Uyumluluğuenv komutu POSIX standardına dahildir. POSIX'e uygun sistemlerde aşağıdaki kullanım garantilenmiştir: env [name=value]... [utility [argument...]]
Bazı varyantlar GNU genişletmeleri içerir (örneğin `-u` ile bir değişkeni ortamdan çıkarmak gibi). SeçeneklerGNU coreutils versiyonu şu anahtarları destekler:
Uygulama ve Uyumlulukenv komutu GNU Core Utilities (coreutils) paketi içerisinde yer alır. FreeBSD, OpenBSD, NetBSD, macOS, AIX, Solaris, Inferno gibi birçok sistemde farklı versiyonları bulunur. Genellikle `/usr/bin/env` dizininde yer alır. Tarihçeenv komutunun geçmişi 1980'li yıllara kadar uzanır. GNU versiyonu ilk olarak David MacKenzie tarafından yazılmış ve Free Software Foundation tarafından sürdürülebilir hale getirilmiştir.[3] Güvenlik NotlarıYorumlayıcı çağrılarında `env` kullanımı sistem PATH değişkenine bağlı olduğundan, sistemde düşük güvenlikli veya sahte yorumlayıcılar bulunuyorsa riskli olabilir. Bu nedenle bazı sistem yöneticileri statik yollarla (`#!/usr/bin/python3` gibi) yorumlayıcı kullanmayı tercih eder.[4] Kaynakça
Kaynak hatası: KaynakçaExternal linksVikikitapta bu konu hakkında daha fazla bilgi var:
|