//init.sh
#!/usr/bin/env bash
export PATH="${HOME}/.pyenv/scripts:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
pyenv shell ammt-crawler
我想在linux命令行中运行init.sh文件 并确保执行pyenv shell ammt-crawler行。
但是当我把./init.sh放进去的时候什么也没发生。
是为什么要在linux中执行init.sh文件?
(ps)如果你能告诉我这个init.sh中的导出,eval意味着什么
答案 0 :(得分:0)
尝试向脚本添加执行权限:
chmod +x unit.sh
然后再次尝试运行它。
答案 1 :(得分:0)
bash
中的评论以#
开头,而不是//
。此外,shebang(#!/usr/bin/env bash
)必须位于文件的第一行才能生效。所以脚本应该是:
#!/usr/bin/env bash
# init.sh
export PATH="${HOME}/.pyenv/scripts:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
pyenv shell ammt-crawler
此外,如果您希望能够仅使用./init.sh
执行它,则需要它是可执行的。运行此命令以使其可执行:
chmod +x init.sh