ฉันได้สร้างโปรแกรม 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แล้วเมื่อใดก็ตามที่คุณไปเพื่อดูว่ามีอยู่มันจะทำงาน (แต่ถ้าคุณปรับเปลี่ยนเส้นทางของคุณตามที่คุณทำในคำถาม)