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?
test
temelde aynı nedenden dolayı çağırmak da kötü bir fikirdir ; test
yerleşik bir kabuktur.
test
mantıklı görünüyor. Tabii ki, içine koyduğunuz PATH
zaman gerçekten farklı bir isim bulmalıydınız. Ve programı sizin programınıza PATH
yerleştirene kadar ./test
yine de onu çağırmanız gerekir . Bu nedenle, test
gü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
.
ls
verirseniz, var olup olmadığını görmek için her gittiğinizde çalışır (ancak yolunuzu soruda yaptığınız gibi değiştirirseniz).