Çoğu özel ayrıcalık gerektirmeyen bir dizi farklı şeyler yapan bir komut dosyası var. Ancak, bir işlev içinde bulunduğum belirli bir bölümün kök ayrıcalıklarına ihtiyacı vardır.
Tüm komut dosyasının kök olarak çalışmasını istemiyorum ve bu işlevi, komut dosyasından kök ayrıcalıklarıyla çağırmak istiyorum. Gerekirse bir parola istemek çoğunlukla etkileşimli olduğundan sorun değildir. Ancak, kullanmaya çalıştığımda sudo functionx
şunu elde ederim:
sudo: functionx: command not found
Beklediğim gibi export
bir fark yaratmadı. Fonksiyonu, bir çok nedenden ötürü ayrı bir komut dosyası olarak yürütmek yerine, komut dosyasında doğrudan yürütmek istiyorum.
Benim işlevi çıkarmadan, uygun dizini bulmak ve sonra tek başına komut dosyası olarak yürütmeden sudo "görünür" yapmak için bir yolu var mı?
İşlev bir sayfanın kendisiyle ilgilidir ve bazıları çift tırnaklı, bazıları tek tırnaklı olmak üzere birden fazla dize içerir. Ayrıca ana komut dosyasında başka bir yerde tanımlanan bir menü işlevine de bağlıdır.
Sadece sudo HERHANGİ birisinin fonksiyonu çalıştırabilmesini beklerim, çünkü yaptığı şeylerden biri şifreleri değiştirmek.
declare
bunları da dahil olmak üzere tüm bu bağımlılıkları (ve varsa, tüm bağımlılıklarını da ... birçok derinliğe kadar) bulmak zorundasınız.