通过 ssh 使用 pipenv 命令的问题
issue using pipenv command over ssh
我有一个 shell 脚本,它使用 scp 将文件从我的计算机传输到 AWS 上的 EC2 实例。传输后,它会使用通过 ssh 执行的命令在 EC2 实例上执行 shell 脚本。 shell 脚本中我尝试 运行 (以及其他命令)的命令是:
pipenv install
当我在本地机器上 运行 父 shell 脚本时,它正确传输文件,运行大部分传输的 shell 脚本正确,但是在 pipenv 命令中生成错误:
pipenv: command not found
如果我通过 ssh 进入机器并使用 pipenv 命令执行(现在是本地的)shell 脚本,它 运行 没问题。
我无法弄清楚 运行 通过 ssh 执行 shell 脚本或 运行 在本地执行脚本之间的区别,以及为什么 运行 时出现错误] 通过ssh。任何建议和帮助将不胜感激。
不同之处在于,如果您 运行 没有 shell,则无法访问定义二进制文件在系统中位置的 PATH 变量,特别是如果它定义在 .bash_profile 或 /etc/profile
所以要么在 shell 脚本中设置 PATH 变量
例如
PATH=~/opt/bin:$PATH
或者当你在 bash 下时,尝试使用
找到你的二进制文件的完整路径
which pipenv
并在您的脚本中将 pipenv 替换为完整路径
我有一个 shell 脚本,它使用 scp 将文件从我的计算机传输到 AWS 上的 EC2 实例。传输后,它会使用通过 ssh 执行的命令在 EC2 实例上执行 shell 脚本。 shell 脚本中我尝试 运行 (以及其他命令)的命令是:
pipenv install
当我在本地机器上 运行 父 shell 脚本时,它正确传输文件,运行大部分传输的 shell 脚本正确,但是在 pipenv 命令中生成错误:
pipenv: command not found
如果我通过 ssh 进入机器并使用 pipenv 命令执行(现在是本地的)shell 脚本,它 运行 没问题。
我无法弄清楚 运行 通过 ssh 执行 shell 脚本或 运行 在本地执行脚本之间的区别,以及为什么 运行 时出现错误] 通过ssh。任何建议和帮助将不胜感激。
不同之处在于,如果您 运行 没有 shell,则无法访问定义二进制文件在系统中位置的 PATH 变量,特别是如果它定义在 .bash_profile 或 /etc/profile
所以要么在 shell 脚本中设置 PATH 变量
例如
PATH=~/opt/bin:$PATH
或者当你在 bash 下时,尝试使用
找到你的二进制文件的完整路径which pipenv
并在您的脚本中将 pipenv 替换为完整路径