ฉันได้สร้างโปรแกรม C อย่างง่ายเช่นนั้น:
int main(int argc, char *argv[]) {
if (argc != 5) {
fputs("Not enough arguments!\n", stderr);
exit(EXIT_FAILURE);
}
และฉันมีเส้นทางของฉันแก้ไขในetc / bash.bashrcเช่นนั้น
PATH=.:$PATH
ฉันได้บันทึกโปรแกรมนี้เป็น set.c และกำลังรวบรวมด้วย
gcc -o set set.c
ในโฟลเดอร์
~/Programming/so
อย่างไรก็ตามเมื่อฉันโทร
set 2 3
ไม่มีอะไรเกิดขึ้น. ไม่มีข้อความที่ปรากฏ
การเรียกร้อง
./set 2 3
ให้ผลลัพธ์ที่คาดหวัง
ฉันไม่เคยมีปัญหากับ PATH มาก่อนและ
which set
./set
ผลตอบแทน ดังนั้นดูเหมือนว่า PATH จะเป็นสิ่งที่ถูกต้อง เกิดอะไรขึ้น
test
ด้วยเหตุผลเดียวกัน test
เป็นเปลือกในตัวด้วย
test
ดูเหมือนว่าเหมาะสม แน่นอนตามเวลาที่คุณใส่ไว้ในของPATH
คุณคุณควรจะเกิดขึ้นกับชื่อที่แตกต่างกัน และจนกว่าคุณจะวางโปรแกรมในของPATH
คุณคุณจะต้องเรียกมันว่า./test
ต่อไป ดังนั้นมันก็โอเคที่จะใช้ชื่อtest
ของโปรแกรมตราบใดที่เป็นการทดสอบอย่างรวดเร็วซึ่งคุณตั้งใจจะลบก่อนสิ้นวัน
foo
เท่าที่ผมทราบชื่อธรรมดาสำหรับโปรแกรมการทดสอบอย่างรวดเร็วคือ
ls
แล้วเมื่อใดก็ตามที่คุณไปเพื่อดูว่ามีอยู่มันจะทำงาน (แต่ถ้าคุณปรับเปลี่ยนเส้นทางของคุณตามที่คุณทำในคำถาม)