我偶然發現了一些我無法想象的東西。以下情況:我通過命令行下載了python前端以控制Dropbox(dropbox.py)。我把這個文件夾中:Zsh/Bash:路徑不是它應該是的
/home/username1/.dropbox-dist/dropbox.py
我在所謂的 「保管箱」 的/ usr/bin中做了一個簡單的bash腳本:
#!/bin/bash
python /home/username1/.dropbox-dist/dropbox.py
現在,當我運行它會發生以下情況:
該文件因此whereis:
[email protected]_remote /home/username1 # whereis dropbox
dropbox: /usr/bin/dropbox
當我運行它:
[email protected]_remote /home/username1 # dropbox
zsh: no such file or directory: /home/username2/.dropbox-dist/dropboxd
是的。它告訴我另一個用戶名。具體來說:我在這個linuxbox上通過SSH登錄。在遠程外殼上有byobu運行。在byobu中運行zsh。 USERNAME2等於說我對我的本地linuxbox當前登錄的用戶,與我相連:
[email protected]_local /home/username2 # ssh [email protected]_remote
這就是我如何連接。
所以必須有一個變量從我的本地shell傳遞到遠程shell,python似乎讀取它,但我無法弄清楚它會是什麼。
現在..看看這個:當我在我寫入bash腳本鍵入命令:
[email protected]_remote /home/username2 # python /home/username1/.dropbox-dist/dropbox.py
Dropbox command-line interface
所以它運行,如果我做手工。 另一件事:如果我和整個路徑運行它,它也能工作:
[email protected]_remote /home/username1 # /usr/bin/dropbox
Dropbox command-line interface
如果我使用「慶典-l」,然後試圖運行「通過登錄-shell中運行它,例如它的工作保管箱」。
它不工作,要麼如果我改變hashbang以 「#!的/ usr/bin中/ zsh的」
在這個任何想法?
啊!謝謝!現在我看到發生了什麼。有一個別名在我的zsh-conf的設置: 其中收存箱 保管箱:別名/home/username2/.dropbox-dist/dropboxd – user2190489 2013-03-20 12:16:17
以我的bash ** **安裝,'which'是一個外部命令('/usr/bin/which'),而'type'是內置的,它可以執行@ user2190489所需要的內容。 (我不知道'哪個'內建到** zsh **。) – 2013-03-20 14:34:30
@Robᵩ'哪個是zsh內建的,但爲什麼這很重要? – wRAR 2013-03-20 14:45:21