«error-handling» etiketlenmiş sorular

Kabuk komut dosyalarında oluşturulan hataların nasıl işleneceğine ilişkin sorular için bu etiketi kullanın.

2
Desen neden “komut || doğru ”kullanışlı?
Şu anda Debian paketlerini inceliyorum ve bazı kod örneklerini okudum. Ve her satırda, örneğin, postinstsenaryo bir kalıptır. some command || true another command || true Eğer bazı komutlar başarısız olursa, o zaman satır doğru döner ancak bunun programın çıktısını nasıl etkilediğini göremiyorum.


3
chmod + sessiz mod + hataya rağmen çıkış kodunu 0 zorla
Chmod çalıştırmak ve komuttan hatayı yoksaymak mümkün mü Örnek (örnek olarak göstermek için file.txt dosyası mevcut değil) Yazarken chmod 777 file.txt Çıktıda hata alıyorum chmod: cannot access file.txt : no such file or directory Bu yüzden f komutuna aşağıdaki komutu ekliyorum: (vakayı göstermek için file.txt mevcut değil) chmod -f 777 …

7
NVidia sürücüsünü güncellerken hataları önlemek için X Sunucusu nasıl kapatılır?
NVidia sürücümü güncellemeye çalıştım, ancak sürücü kurulumunu çalıştırdığımda bir hata aldım. Hatayı görün: HATA: Bir X sunucusu çalıştırıyorsunuz; lütfen daha önce X'ten çıkın yüklemeden. Daha fazla ayrıntı için, lütfen MONTAJ bölümüne bakın Linux sürücüsünde bulunan README'deki NVIDIA DRIVER www.nvidia.com adresinden indirme sayfası. Not: Yazarak bir kılavuzu izlemeyi denedim, init 3ancak …

6
Tuzak, ERR ve hata satırını yankı
Tüm hatalarda işlev çağırmak için Tuzak kullanarak bazı hata raporları oluşturmaya çalışıyorum: Trap "_func" ERR ERR sinyalinin hangi hatta gönderildiğini bulmak mümkün müdür? Kabuk bash. Bunu yaparsam hangi komutun kullanıldığını okuyabilir ve rapor edebilirim ve bazı işlemleri yapabilirim / yapabilirim. Ya da belki de tamamen yanlış yapıyorum? Aşağıdakilerle test ettim: …

5
Atama durumunda grep'in çıkmasını önleyin
Bu betik "after" ifadesini yankılamaz: #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit Aynı zamanda -eshebang satırındaki seçeneği kaldırsam da olur , ancak bir hata olması durumunda betiğimin durmasını istiyorum. Grep'in bir eşleşme olmadığını hata olarak düşünmüyorum. …

2
'Make' hata kodlarının listesini nereden bulabilirim?
Fortran'da yazılmış bir programı derlemeye çalışıyorum make( Makefile'im var ve Makefile'ı içeren dizindeyken komutu yazın $ make target, burada "target" Makefile'imde sisteme özgü bir hedef belirtimi var) . Hedef şartnamemin değişik revizyonlarını denemek için, aramaya çalıştığımda sık sık çeşitli hata mesajları alıyorum make. make[1]: Entering directory /bin/sh: line 0: test: …

2
Curl gibi bir komutun hatasız tamamlanıp tamamlanmadığı kontrol edilir
Bir dosyayı HTTP postasıyla sunucuya yüklemek için curl kullanıyorum. curl -X POST -d@myfile.txt server-URL Bu komutu komut satırında manuel olarak çalıştırdığımda, sunucudan gibi bir yanıt alıyorum "Upload successful". Ancak, bu curl komutunu bir komut dosyası üzerinden yürütmek istersem POST isteğimin başarılı olup olmadığını nasıl öğrenebilirim?

6
Çıktıyı ancak komut başarılı olursa nasıl bastırabilirim?
Genellikle başarılı olan ikincil komutların çıktısını bastırarak bir betiğin çıktısını basitleştirmek istiyorum. Ancak, -qbunları kullanmak zaman zaman başarısız olduklarında çıktısını gizler, bu yüzden hatayı anlama imkanım yoktur. Ek olarak, bu komutlar çıktılarını açarlar stderr. Bir komutun çıktısını, sadece başarılı olursa bastırmanın bir yolu var mı ? Örneğin (ancak bunlarla sınırlı …

2
rsync: izinleri olmayan dosyaları atla
rsync -rlptDBaşka bir kullanıcıdan bir dizin kopyalamak için kullanıyorum . Kopyalama iznim olmayan birkaç dosya var (bunları önceden bilmenin bir yolu yok). Rsync bunları görmezden gelmek bir yolu var mı. Sorun şu ki, rsync sıfırdan farklı olursa, bash -x betiğim çıkacaktır.

7
Bir dosyanın bash içinde oluşturulabileceğini veya kısaltılabileceğini / üzerine yazılabileceğini nasıl kontrol edebilirim?
Kullanıcı ya gibi oluşturulan veya komut bir noktada üzerine yazılacak olan bir dosya yolu ile benim komut dosyası çağırır foo.sh file.txtveya foo.sh dir/file.txt. Oluşturma veya üzerine yazma davranışı, dosyayı >çıktı yönlendirme operatörünün sağ tarafına koymak veya bir argüman olarak tee(aslında, bir argüman olarak geçirmek teetam olarak yaptığım şeydir) gerekliliklere çok …


1
Linux'ta standart hata kodları nelerdir?
Örneğin bash içinde bir dosyayı kopyalayan bir kod yazdığımda, dosya mevcut olmadığında, terminalde "dosya bulunamadı" benzeri bir hata görüyorum, komut dosyası kullanıcısına izin verilmiyorsa gösterilen hata up, "izin reddedildi" ifadesine benzer. Temel olarak, programlama dili ne olursa olsun, örneğin bir dosyayı kopyalamak için kod yazdığınızda, kullandığınız programlama dili işletim sisteminden …

4
İşlem değiştirmeyi kullanırken çıkış kodu / tanıtıcı hatalarını nasıl doğru şekilde yakalayabilirim?
SO üzerinde Q & A alınan aşağıdaki yöntemi kullanarak dosya adlarını bir diziye ayrıştırır bir komut dosyası var : unset ARGS ARGID="1" while IFS= read -r -d $'\0' FILE; do ARGS[ARGID++]="$FILE" done < <(find "$@" -type f -name '*.txt' -print0) Bu harika çalışır ve her türlü dosya adı varyasyonunu mükemmel …

2
Bindirme komutunu kullanarak hata nasıl tetiklenir
Ubuntu 12.04.2 kullanıyorum. Kabuk komut dosyasında anormal veya hata yakalamak için "tuzak" komutunu kullanmaya çalışıyorum ama aynı zamanda el ile "Hata" çıkış tetiklemeye çalışıyorum. Çıkış 1'i denedim, ancak "Hata" sinyalini tetiklemeyecek. #!/bin/bash func() { exit 1 } trap "echo hi" INT TERM ERR func "Hata" çıkış sinyalini manuel olarak nasıl …

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.