我不是一個bash高手,所以請原諒這個問題的簡單性。Bash單行內容編譯,執行和回顯返回值?
我想編譯,執行和回顯我的程序在Linux shell中的一行中的返回值。喜歡的東西...
~$ gcc -Wall -std=c99 program.c && ./a.out && echo $?
這些都獨立工作,這當然作品的,太:
~$ gcc -Wall -std=c99 program.c && ./a.out
...
~$ echo $?
5
~$
好像這個問題是要知道當/如果./a.out
是成功的,因爲~$ ./a.out && echo $?
做不工作,或者!
爲什麼選擇圓括號而不是大括號? [documentation](http://www.gnu.org/software/bash/manual/bash.html#Command-Grouping)表示這會創建一個子shell,但爲什麼在這個實例中僅僅在當前shell中執行? – 2013-04-08 02:36:29
@highphi:大括號需要更多的打字。 – 2013-04-08 02:42:19
有趣......!我知道有關檢測程序執行「成功」的問題。 – d0rmLife 2013-04-08 02:50:52