Ben böyle basit bir C programı oluşturdum:
int main(int argc, char *argv[]) {
if (argc != 5) {
fputs("Not enough arguments!\n", stderr);
exit(EXIT_FAILURE);
}
Ve benim PATH vb / bash.bashrc gibi değiştirilmiş var :
PATH=.:$PATH
Bu programı set.c olarak kaydettim ve derliyorum
gcc -o set set.c
klasörde
~/Programming/so
Ancak, aradığımda
set 2 3
hiçbir şey olmuyor. Görünen metin yok.
çağrı
./set 2 3
beklenen sonucu verir
Daha önce PATH ile hiç bir sorun yaşamadım ve
which set
döner ./set. Görünüşe göre PATH doğru olanı. Ne oluyor?
testtemelde aynı nedenden dolayı çağırmak da kötü bir fikirdir ; testyerleşik bir kabuktur.
testmantıklı görünüyor. Tabii ki, içine koyduğunuz PATHzaman gerçekten farklı bir isim bulmalıydınız. Ve programı sizin programınıza PATHyerleştirene kadar ./testyine de onu çağırmanız gerekir . Bu nedenle, testgün sonundan önce silmeyi planladığınız hızlı bir test olduğu sürece bir programın adını kullanmanız bir sakınca yoktur .
foo.
lsverirseniz, var olup olmadığını görmek için her gittiğinizde çalışır (ancak yolunuzu soruda yaptığınız gibi değiştirirseniz).