FreeBSD系统安装KornShell详细指南

本文详细介绍了在FreeBSD系统上安装KornShell的两种方法,包括使用pkg包管理器安装预编译二进制包和使用ports编译安装,同时提供了shell切换和帮助文档查询等实用操作指南。

如何在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远程软件包仓库:

1
$ sudo pkg update

出于安全原因应用任何待定更新:

1
$ sudo pkg upgrade

搜索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的持续开发版本。根据您的需求安装合适的版本:

1
$ sudo pkg install ksh

想立即使用新安装的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
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计