kubuntu 14.04 ve 16.04 arasındaki sh script farkı


0

Yeni bir 16.04 kurulumundan başlayıp kodumu taşıyarak Kubuntu 14.04'ten 16.04'e geçiyorum ve iki sürüm arasında komut dosyası işlemede bir fark görüyorum.

İşte kurulum. Hem çalıştırılabilir (dtc) hem de bir sh betiği (dtc-version) içeren bir alt dizini içeren bir dizindeyim. 'Dtc', -v argümanıyla çağrılırsa, yalnızca sürümünü yazdırır. İşte 'dtc-version'un ilgili kısmı:

#!/bin/sh

dtc="$*"
MAJOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 1)
...

14.04’te, bunu başarıyla

scripts/dtc-version dtc

16.04'te, aynı çağrı aşağıdaki gibi başarısız olur:

scripts/dtc-version.sh: line 4: dtc: command not found

Bu çağrı ile başarıyla çalıştırabilirim:

scripts/dtc-version ./dtc

Her iki versiyonda da, kabuğum bash ve $ PATH'ım aynıdır ve 'dahil etmiyor.

'' Eklersem. yoluma göre, 16.04 sürümü, süslenmemiş 'dtc' argümanını kullanarak çalışıyor ancak bitbake 'varsa' diye bağırdığı için kabul edilebilir bir çözüm değil. benim yolumda


1
Görmeden dtc-versionsöylemek gerçekten imkansız. Takma adlarınıza ve / veya işlevlerinize saygı duyması düşünülebilir. Eski ubuntularınızda "dtc" için bir takma adınız veya işleviniz var mıydı? Eski ubuntuda, neyle karşılaşıyorsun type -a dtc? Yeni kurulumda bu farklı mı?
glenn jackman

Yürütülebilir dosyaya göreceli yolla komutu kullandığınız görülüyor. Bunun yerine mutlak yol kullanmanızı öneririz.
ob2

Yanıtlar:


0

@glenn jackman ilgili ipucunu verdi. Eski sistemimdeki bir noktada 'dtc' nin '/ usr / bin' 'e kopyalandığı ortaya çıktı. Eski sistemde, type -a dtcelde dtc is /usr/bin/dtcbenim yeni sistemde bu ürün verirken bash: type: dtc: not found.

Bunların hepsi, her türlü kurulum adımına sahip ve birkaç kez kullanılmış olan delice karmaşık bir yapı sisteminin bir parçasıdır. Bir takım çalışma talimatlarını izlememe rağmen, bir adımı atlamış olmalıyım. Ben kendimde kendim yazmayı denemedim, çünkü problem bu olamazdı ;-)

Yorum yapan herkese teşekkürler !!!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.