Doğru argüman sayısını nasıl kontrol ederim (bir argüman). Birisi doğru sayıda argümanı geçmeden betiği çağırmaya çalışırsa ve komut satırı argümanının gerçekte var olduğundan ve bir dizin olduğundan emin olmak için kontrol etmeye çalışırsa.Doğru bağımsız değişkenlerin kontrol edilmesi
cevap
#!/bin/sh
if [ "$#" -ne 1 ] || ! [ -d "$1" ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
yapıldı: parametre sayısı 1 (sayısal) eşit değilse ya da ilk bağımsız bir hata durumu kodu ile, standart hataya ve çıkış için bir dizin, çıkış kullanımı değilse.
Daha kolay hata raporlama:
#!/bin/sh
if [ "$#" -ne 1 ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
if ! [ -e "$1" ]; then
echo "$1 not found" >&2
exit 1
fi
if ! [ -d "$1" ]; then
echo "$1 not a directory" >&2
exit 1
fi
içinde çalışıyorum bir tamsayı ifadesi exptected deyimiyle bir hata iletisi alıyorum –
Hangi kabuk kullanıyorsunuz? –
@Andrew K: bunu bildiren hat nedir? Eğer "if" satırı buysa, iki cümleden birini "eğer [" $ # "-ne 1 ise; o zaman ya da eğer! [-d "1 $"]; o zaman hangi maddenin sorun yarattığını görmek için. –
Sen ile komut satırında geçirilen argümanların sayısını kontrol edebilirsiniz "$#
" Say Örnek benim kabuk komut dosyası adı hello.sh
sh hello.sh hello-world
# I am passing hello-world as argument in command line which will b considered as 1 argument
if [ $# -eq 1 ]
then
echo $1
else
echo "invalid argument please pass only one argument "
fi
Çıkış hello-world
bir şey yanlış mı? –
Eğer öyleyse bana haber ver ... teşekkür ederim @chicks –
Hayır. –
kedi script.sh
var1=$1
var2=$2
if [ "$#" -eq 2 ]
then
if [ -d $var1 ]
then
echo directory ${var1} exist
else
echo Directory ${var1} Does not exists
fi
if [ -d $var2 ]
then
echo directory ${var2} exist
else
echo Directory ${var2} Does not exists
fi
else
echo "Arguments are not equals to 2"
exit 1
fi
aşağıda gibi çalıştırmak -
./script.sh directory1 directory2
Çıktı olacak gibi - `/ bin/sh demektir
directory1 exit
directory2 Does not exists
- 1. Yönlendirenin kontrol edilmesi
- 2. andthen Scala iki bağımsız değişkenlerin fonksiyonu için
- 3. Dize girdisi içeriğinin kontrol edilmesi
- 4. Bir öğenin görünürlüğünün kontrol edilmesi
- 5. Javascript'te enterferans zamanlamalarının kontrol edilmesi?
- 6. Tohumların Mclapply ile kontrol edilmesi
- 7. Bir Erlang korumasında üyeliğin kontrol edilmesi
- 8. Python sınıflarında özelliklerin geçerliliğinin kontrol edilmesi
- 9. C++ derleyici, varsayılan bağımsız değişkenlerin bitiminden önce eksik argümanı uyarmaz
- 10. Değer, arayüz uygulayıp uygulamadığının kontrol edilmesi. Golang
- 11. Android'de kullanıcı adı ve şifrenin kontrol edilmesi
- 12. Ruby'de adlandırılmış bağımsız değişkenlerin geçerli durumu (adlandırılmış yöntem parametreleri, anahtar kelime bağımsız değişkenleri) nedir?
- 13. bağımsız değişken Ondalık Değerini Pass Nasıl doğru
- 14. Çoklu değişkenlerin olup olmadığını kontrol etmenin en pythonik yolu nedir?
- 15. KDevelop'deki değişkenlerin değerleri nasıl görüntülenir?
- 16. Güvenlik panelinin durumunun kontrol edilmesi AS3'te hatırlıyorum seçeneği
- 17. Koleksiyondaki kirli herhangi bir omurga modeli verilerinin kontrol edilmesi
- 18. Elixir'de bir fonksiyonun kontrol edilmesi için bir yol var mı?
- 19. Çıkış karakterleri için bir python dizesinin kontrol edilmesi
- 20. Android Lint Eklentisi - kontrol edilmesi gereken özel uyarı/hata
- 21. İki listenin kontrol edilmesi çarpışma elemanına sahip mi?
- 22. Köşeli 2 - Sunucu hatalarının kontrol edilmesi için abone
- 23. VB'de yerel değişkenlerin güncellenmesi
- 24. PHP'deki değişkenlerin varsayılan değeri?
- 25. VB'de değişkenlerin güncellenmesi
- 26. doğru işlem yaparken dosya varlığını doğru şekilde kontrol ediliyor
- 27. Vue.js Bileşeninin Test Edilmesi
- 28. ggplot'ta çubukların sipariş edilmesi
- 29. Koşullu olarak varsayılan olarak adlandırılmış bağımsız değişkenlerin sayısını bir tanıma geçirme
- 30. Aptana Studio bağımsız sürümünde codesniffer'ı kurmak için doğru yol nedir?
@Daniel' shell' – Ruel
sh –