komut kabuk komut dosyası aracılığıyla bulunamadı, ancak terminalde çalışıyor


18

.Sh dosyamda karınca veya mv veya cp komutlarını çağıramıyorum ama terminal.below komut dosyasında da aynı komutlar çalıştırılıyor

sample.sh dosyası

#! /bin/sh
cp filename.so filename_org.so
android update project -p .
ant clean
ant release

yolu .bashrc dosyasına eklendi.

export PATH=$PATH:/usr/bin/

cp, mv, ant sadece scirpt ile değil terminal altında çalışıyor.


1
Yur problem hakkında daha fazla bilgi verin ..
Ruban Savvy

android/ ant, bu ikili dosyalar / usr / bin içinde mi?
UVV

Yanıtlar:


13

Komut dosyanız bir kabuk komut dosyası ( /bin/sh) olduğundan, PATHgirişleriniz ( ) etkileşimli kabuk .bashrciçin olduğu gibi okunmaz .bash/bin/bash

Senin yapmak için PATHiçin girişler mevcut /bin/shbelirli bir kullanıcı tarafından çalıştırılan komut eklemek PATHiçin giriş .profile, kullanıcıların ev dizinindeki dosyasında.


Ayrıca, komut dosyasındaki komutlarınızın her biri için tam yolu ekleyebilirsiniz:

/bin/cp filename.so filename_org.so

Veya , komut dosyanızın başında PATHgerekli $PATHSolanların tümünü içeren değişkeni ayarlayın .

PATH=$PATH:/bin:/usr/bin:xxx
export PATH

2
Doğru analiz, ancak doğru çözümden bahsetmediniz, PATHbunun yerine doğru yere koymak gerekiyor .bashrc. Betiğin bash betiği olarak değiştirilmesi herhangi bir fark yaratmaz: .bashrcyalnızca etkileşimli kabuklar tarafından yüklenir.
Gilles 'SO- kötü olmayı bırak'

2

Yolu bashrc olarak ayarlanmış bir ikili çalıştırırken aynı sorunu vardı.

Aşağıdakileri yaparak sorunu çözdü:

İkili dosya ekleyin veya / usr / bin içindeki ikili dosyaya bir bağlantı ekleyin.

ln -s [path_to_binary] [name_of_executable] 

Sonra kullanarak kontrol edin

ls -l

Bashrc giriş formunu kaldırabilirsiniz.


0

küçük bir komut dosyanız varsa ve işinizi en kısa sürede bitirirseniz basit bir şey yapabilirsiniz

komut satırına git aşağıdaki komutu kullanın

which your_command 

yukarıdaki komut yolu doğrudan kullanarak bu komutu kullanarak çıktı yazdırır

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.