博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ksh和bash区别
阅读量:7095 次
发布时间:2019-06-28

本文共 1359 字,大约阅读时间需要 4 分钟。

一、实践证明,在AIX上用的是ksh,linux上是bash

sh或bsh,全名是bourne shell。它最早出现,是标准shell。后两者都兼容它。

ksh和bash后续加入了历史记录,交互特性,数组,等新功能。
ksh在unix上使用较多。比如hpux,AIX
bash在linux上使用较多。

也可以用这些做命令跳到另一个shell,看个人习惯用哪个:

jimmy-cao@jimmycao-ThinkPad-Edge:~$ sh
$ bash
jimmy-cao@jimmycao-ThinkPad-Edge:~$ ksh
$

bash可以使用tab键补全,ksh貌似不能

二、使用上的具体区别,转的

(1) 在ksh是,数组的index只能从0到1023,而bash中没有这样的限制。

(2) ksh与bash初始化数组的语法不同:

如下所示

icymoon# ksh

icymoon# set -A array 1 2 3 4 5; echo ${array[3]};

4

icymoon# bash

icymoon# array=(1 2 3 4 5); echo ${array[3]};

4

icymoon# array=([0]=1 [3]=2 [2]=3); echo ${array[3]}

2
 
1. 内置read命令

read VARIABLE?\ "xxxxxxxxxxxxxx"

2. 反义循环

until [[ ... ]] #这里的[[ ]]是ksh的括号,比sh的[]括号,[[]]能够支持更多,更强大的命令行选项

do

   xxxxxxx

done


2. 字符串的操作

我们有basename取出文件名,但是如果需要得到目录名呢?

FULLPATH=`pwd`/$0

DIR=${FULLPATH%${FILENAME}}#从变量FULLPATH的最后开始,搜索第一个FILENAME的匹配,并删除

              %%                               后面        最后一个

              #                                前面        第一个

              ##                               后面        最后一个

DIR=${DIR%\/}              #去掉反斜杠 

basename=$(filename%%.cpp) #去掉文件名的.cpp后缀


3. 布尔操作

sh的布尔操作是-a -o,ksh可以 if [[ test1 && test2 ]]就像C语言的逻辑操作一样


4. 把一个字符串拆成一个数组,元素之间是以空格或tab分隔

set -A Array $input

if [[ -z ${Array[0]} ]]echo"空的数组"

取数组下标和C语言类似,当然必须用${}包含


5. for数据(sh兼容)

for file in $inputfiles

do

  cat $file|tr '[A-Z]' '[a-z]'|sed -e '/^$/d' -e '/^#/d'

#所有字符变成小写,并删除空行和注释行('#'开头)

done

 

6. 寻找新的文件 NEWER=`find $CLASSFILE -newer $JAVAFILE`

  

7. 直接数学计算 

$ let x=0 

$ let x=x+2 

不需要使用expr反复计算

转载于:https://www.cnblogs.com/zmlctt/p/3721022.html

你可能感兴趣的文章
Gym - 101503I 利用到图论的构造
查看>>
Latex: article模板
查看>>
C do {...} while (0) 在宏定义中的作用
查看>>
数据结构——排序——8种常用排序算法稳定性分析
查看>>
2014年总结以及2015年计划
查看>>
php最快捷的插入数据,3000万仅需5秒
查看>>
学习jsp和java的心得
查看>>
如何部署WebSphere服务器的开发环境
查看>>
python 解析ajax请求带有json参数,请求方式是post的url(注意:参数的json格式的)...
查看>>
Md5
查看>>
Linux防火墙基础与编写防火墙规则
查看>>
程序的局部性原理
查看>>
spring-session(二)与spring-boot整合实战
查看>>
Man's Best Friend: The Science Behind the Dog and Human Relationship
查看>>
zw版【转发·台湾nvp系列Delphi例程】HALCON HWindowX 01
查看>>
POJ2421 Constructing Roads
查看>>
在服务器上安装MongoDB
查看>>
20140104
查看>>
并发编程路线
查看>>
规则(1)
查看>>