Saya telah membuat program C sederhana seperti:
int main(int argc, char *argv[]) {
if (argc != 5) {
fputs("Not enough arguments!\n", stderr);
exit(EXIT_FAILURE);
}
Dan PATH saya sudah dimodifikasi di etc / bash.bashrc seperti:
PATH=.:$PATH
Saya telah menyimpan program ini sebagai set.c dan sedang mengompilasinya
gcc -o set set.c
dalam folder
~/Programming/so
Namun, ketika saya menelepon
set 2 3
tidak ada yang terjadi. Tidak ada teks yang muncul.
Panggilan
./set 2 3
memberikan hasil yang diharapkan
Saya tidak pernah punya masalah dengan PATH sebelum dan
which set
kembali ./set
. Jadi sepertinya PATH adalah yang benar. Apa yang terjadi
test
karena alasan yang sama; test
adalah built-in shell juga.
test
tampaknya masuk akal. Tentu saja pada saat Anda memasukkannya ke dalam Anda, PATH
Anda benar-benar harus datang dengan nama yang berbeda. Dan sampai Anda memasukkan program PATH
ke dalamnya, Anda tetap harus memintanya ./test
. Jadi boleh saja menggunakan nama test
untuk program selama itu adalah tes cepat yang ingin Anda hapus sebelum akhir hari.
foo
.
ls
maka setiap kali Anda pergi untuk melihat apakah ada itu akan berjalan (tetapi hanya jika Anda memodifikasi jalur Anda seperti yang Anda lakukan dalam pertanyaan).