【发布时间】:2017-01-27 01:04:44
【问题描述】:
我想学习 shell 脚本,我将在工作中使用 solaris。 linux上的shell脚本和solaris上的shell脚本有什么区别吗?
【问题讨论】:
-
大多数 Linux 和 Solaris(以及 mac 的 OSX)版本中的默认 shell 是 bash。大多数东西都是一样的。您也可以使用 perl 或 python 编写脚本,它们也应该可用。
我想学习 shell 脚本,我将在工作中使用 solaris。 linux上的shell脚本和solaris上的shell脚本有什么区别吗?
【问题讨论】:
Linux 和 Solaris 之间没有区别,区别在于您在各自上使用的 shell:sh、csh、ksh、zsh、bash 等。
当您编写一个 shell 脚本时,您应该始终以 shebang 开头,表明该脚本是为哪个 shell 编写的。例如#!/bin/bash
或#!/bin/csh
注意 shebang 也适用于非 shell 语言的脚本:#!/usr/bin/perl#!/usr/bin/python
bash shell 现在几乎无处不在,如果它在您的 Solaris 系统上可用,我建议您学习它。/bin/sh 是 POSIX shell,而您应该了解这一点,以及它与 bash 之间的区别。
ksh 是对 sh 的改进,zsh 也是如此(但 zsh 声称它“是为交互使用而设计的 shell”)
这些天 bash 和 sh 是要学习的。
【讨论】:
/bin/sh 是 POSIX shell... 小心。因为 Linux 倾向于完全混淆 sh 和 bash - sh 甚至可能直接软链接到 bash。 Solaris 不这样做。许多是由于 bashisms 而在 Solaris 上失败的 Linux“sh”脚本。
谢谢大家。 我从你的回复中了解到,我必须学习兼容 linux 和 solaris 的 bash shell。
【讨论】: