หรืออาจเขียนโปรแกรม C ที่เรียกคำสั่งที่ต้องการและบันทึกลงใน / usr / bin
#include <stdio.h>
#include <string.h>
int main () {
char command[50]; //notice you can change this to fit your needs
int return_val;
strcpy( command, "echo \"cd /media/Dan/evolution\" | bash -i" );
return_val = system(command);
//this is equivalent to entering the command in a new bash,
//which will return and exit
return return_val;
}
ในการรวบรวมให้ไปที่ไดเรกทอรีที่บันทึกแหล่งข้อมูล (เป็น bash) และดำเนินการ (คุณอาจต้องใช้ sudo):
gcc ./gb.c -o /usr/bin/gb
หลังจากการวิจัยเพิ่มเติมที่นี่ฉันรู้เพียงแค่โยนคำสั่งของคุณในsystem()
จะไม่ทำงานสำหรับทุบตีในคำสั่ง นั่นเป็นเหตุผลที่คุณต้องสร้างอินสแตนซ์ของ bash แบบโต้ตอบและสะท้อนคำสั่งของคุณ มันซับซ้อนเกินไปและอาจไร้ประโยชน์เว้นแต่ว่าคุณต้องการตัดทอนการเรียกเชลล์สคริปต์ให้สั้นลง ( some_script
แทนsh ~/radgeRayden/Scripts/some_script
)
การอ้างอิงสำหรับฟังก์ชัน system ()
alias gb='cd /media/Dan/evolution'