在多个shell上运行脚本?

云杉贴士

我有两台服务器,其中一台AIX的默认外壳程序为ksh,另一台RHEL的默认外壳程序为bash。

我有一个安装在这两个脚本上的脚本,它们将运行类似的命令,但适用于AIX或Linux。该脚本在bash服务器上不起作用,有没有办法使该脚本在bash和ksh上运行,还是最好的选择是创建两个不同的脚本?

#!/usr/bin/ksh
export OS=`uname -s`
echo "OS is "$OS"."
case $OS in
        "AIX")
                #run AIX commands;;
        "Linux")
                #run Linux commands;;
        "*")
                echo "Exiting. The OS type is not found.";;
esac
echo "Done."
exit 0

更新

我需要运行的命令是针对每个服务器上的用户帐户的。解锁帐户的示例。AIX / usr / bin / chuser account_locked = false $ USERNAME

Linux / usr / bin / passwd -u $ USERNAME

通过进一步的调查,我发现AIX中的shell位置位于/ usr / bin / sh,而Redhat的位于/ bin / sh。

我可以根据“ uname”的结果来定义shebang吗?

安德烈·蒂奇

拥有两个单独的脚本版本可能会更容易。由于它很短,因此不值得添加额外的代码来处理两种格式之间的差异,如jw013所建议的那样。另一方面,如果您有一个较大的脚本,则可能更容易拥有一个脚本,并根据从何处运行脚本来执行不同的命令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在多个文件上运行脚本

来自分类Dev

从pyspark shell运行脚本

来自分类Dev

使用名称中的数字在多个文件上运行脚本

来自分类Dev

在多个EC2实例上运行脚本

来自分类Dev

在屏幕上运行脚本

来自分类Dev

从 shell 脚本内部运行脚本

来自分类Dev

shebang是否确定运行脚本的shell?

来自分类Dev

在多个主机上运行脚本

来自分类Dev

在Ruby on Rails上运行脚本

来自分类Dev

在Raspberry Pi上独立运行脚本

来自分类Dev

在特定文件类型上运行脚本

来自分类Dev

在git push上运行脚本

来自分类Dev

仅在单击的div上运行脚本

来自分类Dev

在Windows Server上远程运行脚本

来自分类Dev

文件上的“权限被拒绝”运行脚本

来自分类Dev

在文件列表上运行脚本

来自分类Dev

在远程机器上运行脚本

来自分类Dev

Windows 上的 npm 运行脚本错误

来自分类Dev

如何在与正则表达式匹配的多个文件上运行脚本?

来自分类Dev

在多个文件上运行tabix命令的Shell脚本

来自分类Dev

在多个文件上运行shell脚本作为输入

来自分类Dev

Tkinter NameError仅当从shell运行脚本时

来自分类Dev

在当前shell中运行脚本,不带。在命令之前

来自分类Dev

使用'exec'函数在解释器Shell中运行脚本

来自分类Dev

Tkinter NameError仅当从shell运行脚本时

来自分类Dev

为什么Bash在子Shell中运行脚本?

来自分类Dev

运行脚本后未显示 shell 提示

来自分类Dev

在PHP上运行Shell脚本?

来自分类Dev

如何在多个文件夹上运行脚本