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
testkarena alasan yang sama; testadalah built-in shell juga.
testtampaknya masuk akal. Tentu saja pada saat Anda memasukkannya ke dalam Anda, PATHAnda benar-benar harus datang dengan nama yang berbeda. Dan sampai Anda memasukkan program PATHke dalamnya, Anda tetap harus memintanya ./test. Jadi boleh saja menggunakan nama testuntuk program selama itu adalah tes cepat yang ingin Anda hapus sebelum akhir hari.
foo.
lsmaka setiap kali Anda pergi untuk melihat apakah ada itu akan berjalan (tetapi hanya jika Anda memodifikasi jalur Anda seperti yang Anda lakukan dalam pertanyaan).