shell命令學習之路

1. Linux中source命令的用法

https://www.jianshu.com/p/63ded646d4cd’

  • source filename 與 sh filename 及./filename執行腳本的區別在那裏呢?
  1. 當shell腳本具有可執行權限時,用sh filename與./filename執行腳本是沒有區別得。./filename是因爲當前目錄沒有在PATH中,所有"."是用來表示當前目錄的。
  2. sh filename 重新建立一個子shell,在子shell中執行腳本里面的語句,該子shell繼承父shell的環境變量,但子shell新建的、改變的變量不會被帶回父shell,除非使用export。
  3. source filename:這個命令其實只是簡單地讀取腳本里面的語句依次在當前shell裏面執行,沒有建立新的子shell。那麼腳本里面所有新建、改變變量的語句都會保存在當前shell裏面。

2. make和cmake命令的關係和區別

https://www.jianshu.com/p/63ded646d4cd

make工具通過調用makefile文件中的命令便可以對大型程序進行編譯,而makefile文件中就包含了調用gcc去編譯多個源文件的命令。

但是,很快又出現了一個問題,如果我們的程序是跨平臺的,如果換個平臺makefile又要重新修改,這會很麻煩,所以就出現了cmake這個工具,通過cmake我們就可以快速創建出不同平臺的makefile文件。

而cmake又是根據CMakeLists.txt來生成makefile文件,這裏你可能覺得有點兒繞,我來總結一下,就是爲了編譯一個大型程序,你首先編寫CMakeLists.txt。然後,通過cmake命令就可以生成makefile文件。然後通過make命令就可以使用這個makefile文件從而生成可執行文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章