Java面试八股文1000问(2026金九银十版),涵盖基础/网络/算法/设计模式/多线程
2026/7/23 16:53:29
POSIX 定义的 shell 语言比原始的 V7 Bourne shell 大得多,但比 ksh93 和 bash 这两种最常用的 Bourne shell 扩展版本所实现的语言小得多。如果你要进行利用 shell 语言扩展的重型脚本编写,很可能会使用这两种 shell 中的一种或两种。因此,熟悉它们的共同特性和差异是很有价值的。随着时间的推移,bash 已经获得了 ksh93 的许多扩展,但并非全部。所以,它们有相当多的功能重叠,但也有很多差异。
以下是一些需要注意的问题:
-保存 shell 状态:可以将 shell 的状态保存到文件中,但 POSIX 标准中没有定义保存函数定义以便后续恢复的方法。以下是保存 bash 和 ksh93 包括函数在内的 shell 状态的示例代码:
{ set +o # Option settings (shopt -p) 2>/dev/null # bash-specific options, subshell silences ksh set # Variables and values export -p # Exported variables readonly -p # Read-only variables trap # Trap settings typeset -f # Function definitions (not POSIX) } > /tmp/shell.st