我想用C系統函數寫別名工作,這裏的代碼alias命令下不繫統的功能在C
if (argc <= 3) {
printf("Program Usage: ./executable alias > or <or>> or &\n");
}
else {
if (strcmp(argv[1],"alias") == 0) {
if (strcmp(argv[2], "redirect") == 0) {
char y[] = "=\">\"";
char *xs = strcat(argv[1], " ");
char *x = strcat(xs, strcat(argv[3], y));
printf("%s\n",x);
int status = system(x);
printf("%d\n", status);
}
else {
printf("You've not entered proper symbol\n");
}
}
else {
printf("You've not entered the shell property as alias\n");
}
}
運行程序的一般方法是
./a.out alias redirect custom_alias_name
此外系統函數返回0,但是當我檢查使用別名命令它不顯示當前別名。
@xkOder所以,你的意思是說,在我運行程序後,別名按需要工作,但在程序執行完成後,它會返回到正常狀態。 – droidlabour
@JayPrakashSarma是的,正好。 – xk0der
@xkOder即使在程序退出後,是否還有任何方法可以反映別名更改? – droidlabour