env Komutu Kapsamlı Teknik Başvuru Kılavuzu (Cheatsheet)

Bu makale, Linux/Unix ortam değişkenlerini yönetmek, incelemek ve geçici olarak ayarlamak için kullanılan 'env' komutunun temel sözdizimini, gelişmiş kullanım senaryolarını ve sorun giderme ipuçlarını sunar.

L
Linuxize
13 görüntülenme
env Komutu Kapsamlı Teknik Başvuru Kılavuzu (Cheatsheet)

env Komutu Teknik Başvuru Kılavuzu (Cheatsheet)

Zorluk Seviyesi: Intermediate

env komutu, bir programın ortam değişkenlerini görüntülemek, ayarlamak veya çalıştırmak için kullanılır. Özellikle bir komutu mevcut kabuk ortamını etkilemeden izole edilmiş bir ortamda çalıştırmak gerektiğinde kritik öneme sahiptir.

Temel Sözdizimi ve Genel Kullanım

env komutunun en temel işlevi, mevcut ortam değişkenlerini listelemektir. Bu, sistemin o anki yapılandırmasını anlamak için ilk adımdır.

  1. Mevcut Ortamı Görüntüleme: Mevcut tüm ortam değişkenlerini standart çıktıya yazdırır.
  2. Yardım ve Sürüm Bilgisi: Komutun seçeneklerini veya sürüm numarasını kontrol etmek için kullanılır.
  3. NUL Ayraçlı Çıktı: Özellikle komut dosyalarında güvenli ayrıştırma için değişkenleri NUL baytları ile ayırarak çıktı verir.
env
env --help
env --version
env -0

Ortam Değişkenlerini İnceleme ve Filtreleme

Tüm ortam değişkenlerini listelemek yerine, belirli değişkenleri bulmak için grep gibi araçlarla birlikte kullanılabilir. Değişken adları genellikle büyük harfle yazılır ve bir eşittir işaretiyle başlar.

  • Tüm değişkenleri alfabetik olarak sıralamak için: env | sort
  • Yalnızca PATH değişkenini bulmak için: env | grep '^PATH='
  • Kullanıcının ana dizinini kontrol etmek için: env | grep '^HOME='

Geçici Değişkenlerle Komut Çalıştırma

env'in en güçlü yönlerinden biri, bir komutu çalıştırmadan hemen önce değişkenleri tanımlayabilmenizdir. Bu değişkenler, yalnızca o komutun ve onun başlattığı alt süreçlerin ömrü boyunca geçerlidir; mevcut kabuğunuzu etkilemez.

VAR=value env command
VAR1=dev VAR2=1 env command
env PATH=/custom/bin:$PATH command
env LANG=C command
İpucu: Bir komutun PATH'ini geçici olarak değiştirmek, o komutu sistem genelindeki yapılandırmayı bozmadan farklı bir sürümünü çalıştırmak için yaygın bir tekniktir.

Değişkenleri Temizleme veya Kaldırma

Bazen bir komutu, mevcut ortamın minimum bir alt kümesiyle çalıştırmak istenir (örneğin, güvenlik veya uyumluluk testleri için). -i (ignore) ve -u (unset) seçenekleri bu amaçla kullanılır.

  1. Boş Ortamda Çalıştırma (-i): Mevcut tüm değişkenleri kaldırır ve yalnızca PATH gibi temel değişkenleri (varsayılan olarak) içeren boş bir ortamla komutu başlatır.
  2. Belirli Bir Değişkeni Kaldırma (-u): Komutu çalıştırırken belirli bir değişkenin (örneğin, proxy ayarları) ortamdan çıkarılmasını sağlar.
env -i command  // Tamamen boş bir ortamda çalıştırır (PATH genellikle eklenmelidir)
env -i PATH=/usr/bin:/bin bash --noprofile --norc
env -u http_proxy command // http_proxy değişkenini kaldırır

Sık Kullanılan Ortam Değişkenleri

Aşağıdaki değişkenler genellikle env ile incelenen veya geçici olarak ayarlanan temel sistem yapılandırma noktalarıdır:

  • PATH: Komutların aranacağı dizinler.
  • HOME: Kullanıcının ana dizini.
  • LANG: Yerel ayar ve dil ayarları.
  • TZ: Sistem saat dilimi.

Sorun Giderme

env kullanımı sırasında karşılaşılabilecek yaygın durumlar ve çözümleri:

Sorun Çözüm/Kontrol
Geçici değişken kalıcı olmuyor. env VAR=value command yalnızca o komutu etkiler. Kabuğu etkilemek için export kullanın.
env -i sonrası komut bulunamıyor. PATH değişkenini manuel olarak ekleyin (örn: env -i PATH=/usr/bin:/bin command).
Bir değişken kabukta hala görünüyor. env mevcut kabuğu değiştirmez. Değişiklikler yalnızca alt süreçler için geçerlidir.

Kaynak

Linuxize