Chinaunix
标题:
怎么在一个文件中分开使用bash和ksh
[打印本页]
作者:
一世缥缈
时间:
2014-08-08 10:28
标题:
怎么在一个文件中分开使用bash和ksh
需要写一个在Linux HP-UP solaris都可以使用的脚本工具。
但是在linux上使用的shell是bash,在其他的上面使用的是ksh,而且linux上没有ksh。
我不想把这个脚本在分成2中不同的版本,有没有啥办法能在一个脚本里识别系统,并且调用正确的bash/ksh。
或者是在某一段用bash,在某一段用ksh呢?
作者:
Shell_HAT
时间:
2014-08-08 10:38
用sh的语法编写代码,不要使用bash或ksh特定的语法。
作者:
一世缥缈
时间:
2014-08-08 10:57
回复
2#
Shell_HAT
其他的都好说,关键我在脚本里面用了很多数组,但是bash和ksh的数组定义完全不一样。你说的这个sh应该怎么用呢?我刚才百度了下,网上很多都是bash的内容!
作者:
jason680
时间:
2014-08-08 11:14
回复
1#
一世缥缈
would you like to use Perl that is easy to support Unix like platform
作者:
q1208c
时间:
2014-08-08 11:38
在shell里用数组, 就是找shi的节奏.
还是用perl或python吧. 基本上shell的工作都可以做了.
变量处理上, 要灵活得多, 跨平台也比shell兼容性要好.
不过, 说linux没有ksh, 我表示不服.
$ which ksh
/bin/ksh
$ rpm -qf /bin/ksh
ksh-20120801-10.el6.x86_64
复制代码
作者:
jason680
时间:
2014-08-08 11:45
@q1208c
@一世缥缈
问题不在bash or ksh
而是awk, sed, cat, cut, grep, ... 版本不同,功能不一...
作者:
q1208c
时间:
2014-08-08 12:34
回复
6#
jason680
我当然知道, 所以才建议用perl或python呀.
作者:
一世缥缈
时间:
2014-08-08 13:21
回复
5#
q1208c
这还真没有!!!!
# which ksh
/usr/bin/which: no ksh in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)
复制代码
看样子只能看先看看perl了
作者:
Shell_HAT
时间:
2014-08-08 13:54
回复
3#
一世缥缈
参考:
http://blog.chinaunix.net/uid-17176286-id-4405531.html
作者:
Shell_HAT
时间:
2014-08-08 13:57
回复
8#
一世缥缈
是的,并非所有的系统都有ksh
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2