我有一個簡單的shell腳本:爲什麼我無法使用執行shell腳本。 ./test.sh?
#!/bin/bash
echo test
我可以成功執行腳本:
./test.sh
和
source ./test.sh
但是,下面拋出一個錯誤:
. ./test.sh
錯誤:
.: Command not found.
什麼可能導致錯誤?這對el capitan(這是升級)有效,但不適用於塞拉利昂。在過去的幾個主要版本中,終端或默認shell是否有所改變?
我使用默認終端運行macOS 10.12.3 - 這是一個乾淨的安裝而不是升級(升級掛在以前的shell設置上)。
你可以試試它嗎? test.sh','POSIX'來源推薦這種方式。 http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#dot – Inian
我仍然得到。:command not found – csilk
@Inian:POSIX說:「如果文件不包含,shell將使用PATH指定的搜索路徑來查找包含文件的目錄「,這意味着_must_使用路徑前綴'。/'來源_current_目錄中的文件。 '。 test.sh'不應該查看當前目錄,('bash',但'dash','ksh'和'zsh'不符合POSIX標準)。 –
mklement0