如何在FreeBSD上安装KSH
安装KornShell(KSH)到FreeBSD可以通过FreeBSD ports或pkg命令完成。ports集合将下载KSH源代码,编译并在系统上安装。pkg方法更简单,它将下载预编译的二进制包,因此推荐所有用户使用。KornShell(KSH)有着悠久的历史,许多旧的Unix系统和脚本都依赖它。因此,KSH在维护和支持遗留基础设施方面仍然具有重要意义。大型企业,特别是那些已建立基于Unix系统的企业,继续使用KSH进行脚本编写和系统管理任务。仍然常用KSH的一些行业包括金融和电信。虽然Bash已成为许多Linux发行版中的主导shell,但KSH在类Unix环境中,特别是在遗留系统中,仍然占有重要地位。因此,如果您计划在这样的环境中工作,安装KSH并进行实践是值得的。
教程详情
- 难度级别:简单
- 需要root权限:是
- 要求:Unix终端
- 类别:包管理器
- 系统兼容性:FreeBSD • Jails • Unix
- 预计阅读时间:3分钟
在FreeBSD上安装KSH的步骤
更新FreeBSD远程软件包仓库:
出于安全原因应用任何待定更新:
搜索KornShell(KSH)软件包:
1
2
3
|
$ pkg search ^ksh
# 或 #
$ pkg search ksh
|
以下是FreeBSD上可用的KSH软件包列表:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
bksh-1.7 仅备份shell
blackshadeselite-0.0.1_11 Psychic Bodyguard FPS - 保护VIP
brainworkshop-5.0.3 双N-Back心理练习
brickshooter-0.04_8 将方块推入游戏区域,匹配方块颜色以移除它们
kickshaw-0.5.26_1 Openbox窗口管理器的菜单编辑器
ksh-1.0.10 ksh93u+m是基于AT&T ksh93u+m(稳定版)的ksh93重新开发版本
ksh-devel-2025.01.15 ksh93u+m是基于AT&T ksh93u+(稳定版)的开发分支ksh93
ksh93-93.u_4,2 AT&T KornShell ksh93u+ 2012-08-01(稳定版)
kshisen-24.12.2 Shisen-Sho类似麻将的瓷砖游戏
kshutdown-5.2_2 高级关机实用程序
mksh-59c_1 MirBSD Korn Shell
oksh-7.6,1 可移植的OpenBSD Korn shell
oksh-static-7.6,1 可移植的OpenBSD Korn shell(rescue(8)版本)
pdksh-5.2.14p2_7 公共域Korn Shell
py311-xstatic-rickshaw-1.5.1.0_2 Rickshaw(XStatic打包标准)
tasksh-1.2.0_5 包装Taskwarrior命令的shell命令
tkshape-0.4_4 访问X Shaped Window扩展的Tk库
|
您还可以使用以下ls命令列出FreeBSD ports以获取ksh软件包名称:
1
|
$ ls -ld1 /usr/ports/shells/*ksh*
|
FreeBSD 14.x版本的示例输出:
1
2
3
4
5
6
7
|
/usr/ports/shells/ast-ksh
/usr/ports/shells/ksh
/usr/ports/shells/ksh-devel
/usr/ports/shells/ksh93
/usr/ports/shells/mksh
/usr/ports/shells/oksh
/usr/ports/shells/pdksh
|
AT&T KornShell是FreeBSD上最接近传统Unix系统的版本。但是,ksh-1.0.10现在可用,它是基于AT&T ksh93u+m的持续开发版本。根据您的需求安装合适的版本:
想立即使用新安装的shell吗?只需输入:
1
2
3
|
$ ksh93
# 或 #
$ ksh
|
使用/etc/shells和cat命令列出新添加的shell:
1
2
|
$ cat /etc/shells
$ bat /etc/shells
|
这是我看到的内容:
1
2
3
4
5
6
7
8
9
10
11
12
|
# chpass(1)可接受的shell列表。
# Ftpd将不允许使用这些shell之外的用户连接。
/bin/sh
/bin/csh
/bin/tcsh
/usr/local/bin/bash
/usr/local/bin/rbash
/usr/local/bin/zsh
/usr/local/bin/rzsh
/usr/local/libexec/git-core/git-shell
/usr/local/bin/ksh93
|
您可以使用whereis命令或type命令获取完整路径:
1
2
3
|
$ type -a ksh93
$ whereis ksh93
$ which ksh93
|
出于安全原因,通常不建议更改root用户的默认shell。但是,用户、服务、备份和其他开发人员帐户可以使用chsh命令将shell更改为ksh。例如,以下是root用户如何将用户的shell更改为/usr/local/bin/ksh93:
1
2
|
$ sudo chsh -s /usr/local/bin/ksh93 {userNameHere}
$ sudo chsh -s /usr/local/bin/ksh93 vivek
|
获取关于KSH的帮助很容易。尝试在线阅读文档/源代码,或使用man命令离线阅读:
1
2
|
$ man ksh
$ man ksh93
|