2013-04-13 53 views
0

我做了幾個python腳本,但有沒有更簡單的方法來運行它們?我正在使用cygwin。在我的cygwin bin中放入鏈接腳本

python "C:\Users\Desk\Dropbox\scripts\wsort.py" > data11414_unsorted.txt < data11414_sorted.txt 

我想是這樣的(未鍵入路徑名稱或 「蟒蛇」):

wsort > data11414_unsorted.txt < data11414_sorted.txt 

其中wsort是我真正的wsort.py鏈接

回答

1

添加 Shebang 至腳本

#!/bin/python 

然後像這樣調用

wsort.py > data11414_unsorted.txt < data11414_sorted.txt 
+0

我編輯了原始問題。我想擺脫的東西是鍵入腳本的路徑。我可以把它放在垃圾桶裏嗎? – SwimBikeRun

0

也許使用別名?

alias wsort = "Command_Used" 
1

首先,你的問題都有一個Windows風格的路徑(反斜槓,用C:開始),而不是Cygwin的路徑(/cygdrive/c/Users/Desk/Dropbox/scripts/wsort.py)。這意味着你實際上沒有使用Cygwin,或者如果你是,你忽略了一堆警告。

以下假定您使用的是Cygwin Bash(如果您從開始菜單啓動Cygwin Terminal)和Cygwin Python(您使用Cygwin的setup.exe安裝,而不是Windows Python安裝程序)安裝。如果你不這樣做,你會讓自己的生活比你需要的更加困難。

說出來了,還有就是你需要採取的步驟一堆:

  • 首先,使腳本可執行。使用chmod命令,從Cygwin的Bash shell中:

    chmod +x /cygdrive/c/Users/Desk/Dropbox/scripts/wsort.py 
    
  • 二,告訴系統如何執行它。以下行添加到腳本頂部:

    #!/bin/python 
    

    (這是一個「認領」 Python看到它作爲一個評論,所以不會用它做任何事情,但Cygwin和其他類似Linux的系統會。使用該行來查看運行腳本的程序。在這種情況下,Python)。

  • 第三,確保您的行結束是正確的。 Cygwin預計Linux的行結束,沒有它們就會失敗。這可能不是問題,但這樣做並沒有什麼壞處。運行以下命令:

    dos2unix /cygdrive/c/Users/Desk/Dropbox/scripts/wsort.py 
    

    此時,您可以通過在Cygwin中指定完整路徑來調用該腳本。您不能在沒有明確指定腳本的位置的情況下運行它。

  • 第四步是確保腳本「在你的路徑中」,即在Cygwin尋找腳本運行的文件夾之一中。有很多方法可以做到這一點,但最明智的可能是將腳本目錄添加到路徑中。以下命令將添加腳本目錄到您的路徑,只要你開始一個新的Cygwin的會議:

    echo 'PATH="/cygdrive/c/Users/Desk/Dropbox/scripts:$PATH"' >>~/.bashrc 
    

    您將需要重新啓動你的Cygwin的終端爲生效,但是。

    此時,只需輸入wsort.py(因此可以在您的問題中使用重定向等),就可以在Cygwin中運行腳本。

  • 最後,爲了能夠簡單地稱爲wsort,有許多選項。顯而易見的是重命名文件。更有用地,(且不復制文件或執行任何責任與Dropbox的同步事情打破),嘗試創建一個別名:

    echo 'alias wsort=wsort.py' >>~/.bashrc 
    

    同樣,你需要重新啓動你的Cygwin的終端爲生效。