我正在尝试使用以下命令启动 ssh:
service sshd start
但找不到服务命令,因此出现错误:
zsh: command not found: service
我应该怎么办?
答案1
command not found
通常由两种情况引起:
- 可执行文件不具有您的用户或组的执行权限
- 不属于变量中列出的文件夹的可执行文件
PATH
,或相反 -PATH
不包含可执行文件位置的变量。
正如评论中已经解决的那样,您的案例是 #2。对于未来的读者,解决方案如下:
- 在任何文本编辑器中打开 shell 的配置文件。如果您的 shell 已
bash
打开~/.bashrc
,如果您的 shell 已zsh
打开~/.zshrc
。请注意,~
指的是您的主目录。 - 添加行
export PATH="$PATH:/usr/sbin"
。请注意,这/usr/sbin
只是一个例子,您的位置可能有所不同。 - 保存文件,退出并运行
source ~/.zshrc
或source ~/.bashrc
。请注意,对于ksh
或之类的 shell,dash
您需要使用,. ~/.bashrc
因为source
命令是bashism
不可移植的
答案2
我使用systemctl
代替重新启动了 docker service
。
sudo systemctl restart docker
答案3
尝试
sudo find / -type f -iname service
如果你得到/sbin/服务然后
/sbin/service sshd start