0
我目前正在研究一個旨在爲任何基本編輯器添加新項目代的腳本。 我才能產生正確的基本程序根據用戶選擇的語言中使用以下結構(你好,世界):
#!/bin/sh
#this is a short example in the case the user selected C as the language
TXTMAIN="\$TXTMAIN_C"
$TXTMAIN_C="#include <stdlib.h>
#include <stdio.h>
int main(int argc, char const* argv[])
{
printf(\"hello, world\n\");
return EXIT_SUCCESS;
}"
MAIN="./main.c"
touch MAIN
echo -n "$(eval echo $TXTMAIN)" >> "$MAIN"
gedit MAIN
這段代碼使您在編輯的main.c以下輸出:
#include <stdlib.h> #include <stdio.h> int main(int argc, char const* argv[]) { printf("hello, world\n"); return EXIT_SUCCESS; }
然而,通過更換線13時回聲-n 「$ TXTMAIN_C」 >> 「$ MAIN」,它給出正確的輸出:
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char const* argv[])
{
printf("hello, world\n");
return EXIT_SUCCESS;
}
我還是不知道這是一個回聲或eval問題,或者是否有解決指針類問題的方法。 任何建議都非常歡迎!
單引號是你的朋友。寫起來容易多了:'TXTMAIN_C ='#include ...'因爲你不需要轉義「或\。 – 2013-02-09 13:43:09