2013-05-11 47 views
1

我試圖在ip中使用ipython作爲我的默認shell。 %rehashx在啓動時執行,因此可以訪問shell路徑中的命令。這裏有兩個問題:包含 「+」 不能自動完成 ipython在處理'+'字符時遇到了問題

  • 命令包含

    1. 文件名 「+」 不能被執行

    例如:

    g++ x.cpp 
    #--------------------------------------------------------------------------- 
    #NameError         Traceback (most recent call last) 
    #<ipython-input-2-6f1048d865c4> in <module>() 
    #----> 1 g++ x.cpp                    
    #                        
    #NameError: name 'g' is not defined 
    
  • 回答

    1

    在這種在這種情況下,ipython無法確定您是否有意運行命令或python代碼,因此將其解釋爲python代碼。爲了幫助它認識到這實際上是一個你試圖運行的命令,在它前面加上「!」。

    !g++ x+6.cpp 
    g++: x+6.cpp: No such file or directory 
    
    +0

    如何使python自動完成文件名包含+ char? – qed 2013-05-11 12:12:04

    +0

    autocompletion適合我。什麼是文件名?什麼版本的ipython? – shx2 2013-05-11 13:38:40

    +0

    版本0.13.2,試試'touch a ++。c',然後'ls a +',然後按Tab鍵。各種不相關的東西出現在終端,但不是目標文件a ++。c – qed 2013-05-11 14:34:31

    相關問題