# free -h ksh: free: not found.
时间: 2024-08-13 09:02:11 浏览: 55
`free -h` 是Linux中用来查看内存使用的命令,但它通常不是ksh(Korn shell)的一部分,而是bash或其他Unix shell环境下的内置命令。如果你正在尝试通过ksh来运行这个命令并遇到 `ksh: free: not found` 的错误,那是因为ksh可能不包含这个命令。
要解决这个问题,你可以按照以下步骤操作:
1. **确认ksh支持**:
KSH通常会包含基本的shell命令,但不一定包括所有bash有的扩展。确保你使用的ksh版本包含了`free`命令。如果它不存在,你可能需要升级到一个更现代的版本,或者使用一个默认就包含此命令的shell。
2. **切换到bash或zsh**:
如果ksh确实不支持`free`,你可以临时切换到bash或zsh来运行这个命令,因为它们通常会提供更多的系统管理工具。比如:
```shell
/bin/bash -c 'free -h' > $logname
```
3. **使用外部命令**:
如果不想改变当前shell,你可以直接调用`free`命令,因为它通常是系统命令,即使在ksh中也可以通过绝对路径找到:
```shell
/usr/bin/free -h > $logname
```
确保你的路径设置正确,以便能找到`/usr/bin/free`。如果`/usr/bin`不在PATH中,添加它可能会解决问题。
相关问题
-bash: ./lmgrd: /bin/ksh: 坏的解释器: 没有那个文件或目录
这个错误提示表示脚本中指定的解释器路径不正确或者解释器文件不存在。你可以尝试执行以下命令来检查脚本中指定的解释器路径是否正确:
```
which ksh
```
如果返回的结果是 `/bin/ksh`,那么就说明 ksh 解释器已经安装在系统中。如果返回的结果是空,那么就需要先安装 ksh 解释器。
如果 ksh 解释器已经安装在系统中,那么可以尝试修改脚本中的解释器路径,将其修改为正确的路径。
ksh: useradd: cannot execute - No such file or directory
这个错误可能是因为您的系统不支持`useradd`命令。在QNX Neutrino系统中,可以使用`adduser`命令来创建新用户。
请尝试使用以下命令创建新用户:
```
adduser -m -p 密码 telnet
```
其中,`-m`选项指示`adduser`命令在创建用户时同时创建用户的home目录,`-p`选项指定用户的密码,`telnet`是要创建的用户名。
请注意,在使用`adduser`命令创建新用户之前,请确保您有足够的权限进行此操作。