我试图在 AIX 上执行shell脚本,但由于在ksh中无法识别来自shell的某些声明/指令(如readarray,数组声明,带有特定args的date命令等)而失败, >
我想在AIX上执行此linux脚本,而不用ksh重写整个脚本。
我试图使用#!/usr/bin/env bash
或#!/bin/sh
之类的其他shebang运行脚本,但是AIX似乎仍通过ksh运行它。
有人可以在AIX上运行linux shell的解决方案吗?
«Linux应用程序的AIX工具箱»似乎提供了在AIX上执行linux shell的条件。
有人可以向我确认此信息吗?
如何检查AIX服务器上是否已安装AIX Toolbox? (我对此服务器没有管理权限)
如何执行AIX Toolbox来运行Shell脚本?
预先感谢您的帮助
答案 0 :(得分:0)
从link中可以看到,您可以安装Linux应用程序的AIX Toolbox,并且将拥有bash
。另外,您只能下载并安装此软件包。
安装后,您可以像运行操作系统中的任何其他程序一样执行bash
。
但是通常在尝试在AIX或HP-UX上运行linux脚本时,您会遇到很多挑战。
答案 1 :(得分:0)
您可以使用bash!需要从here安装yum。一旦安装了yum,它将自动安装bash软件包。
放入一个临时的空文件夹,解压缩并安装所有RPM:rpm -Uvh *.rpm
。
最后编辑/etc/security/login.cfg
和“ /usr/bin/bash
”
shells = /bin/sh,/bin/bsh,/bin/csh,/bin/ksh,/bin/tsh,/bin/ksh93,/usr/bin
/sh,/usr/bin/bsh,/usr/bin/csh,/usr/bin/ksh,/usr/bin/tsh,/usr/bin/ksh93,/usr/bin/
rksh,/usr/bin/rksh93,/usr/sbin/uucp/uucico,/usr/sbin/sliplogin,/usr/sbin/snappd,
/usr/bin/bash
将路径/usr/bin/bash
添加到/etc/shells
:
# echo “/usr/bin/bash” >> /etc/shells
将shell更改为bash:
# chuser shell=/usr/bin/bash root
在root的家中创建一个新的.bash_profile
,
# .bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
PS1="[\u@\h \w]\$ "
export PS1
使用root登录,您会看到类似以下内容的
:[root@aixserver ~]#