ksh和bash区别
一、实践证明,在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貌似不能
二、使用上的具体区别,转的
(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
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
ksh和bash区别相关推荐
- ksh和bash区别、linux更改用户的默认登陆shell
文章目录 ksh和bash区别 bash ksh linux更改用户的默认登陆shell 参考 ksh和bash区别 ksh在unix上使用较多.比如hpux,AIX. bash在linux上使用较多 ...
- zsh与bash区别
zsh与bash区别 1. 两者之间比较 2. 配置zsh 1. 两者之间比较 zsh越来越受更多人欢迎,号称"终极shell",所以想去了解下它的过人之处,总之,从一个交互式终端 ...
- ubuntu中bash,sh,./,bash区别
当我们使用 sh test.sh .bash test.sh . ./test.sh 运行脚本都会使用一个新的shell环境来执行脚本内的命令, 当子进程完成后,子进程内的各项变量和操作将会结束而不会 ...
- ksh和bash接受用户输入数据
shell提示用户输入,并接受用户输入数据: #接收用户输入数据 read data #一般情况 (提示信息和输入不在同一行) echo "请输入数据:" read data ec ...
- linux基础:shell中的sh与bash区别与常用命令
目录 一,什么是sh和bash? 二,shell的基本用法 2.1,变量 2.2,算术运算 2.3,使用 bash 计算器在shell脚本中进行浮点运算 2.4,shell中的条件判断命令test和[ ...
- linux -ksh,Linux Shell - bash ksh
我知道shell有好多种.例如:TCSH SHELL . BASH SHELL 等. 请问共有几种shell,他们都有什么区别? 我的系统是RH9,用的是什么shell/ 谢谢! 目前流行的Shell ...
- Linux + Shell bash / sh / ksh / csh / tcsh
Redhat Gnome Terminal 快捷键 http://huangchao200701.javaeye.com/blog/263002 常用 win+n切换背景颜色风格 alt+tab=不用 ...
- Linux学习笔记8——bash基本概念
一个操作系统的组成中,shell是与用户最接近的部分 shell:外壳,也是一种程序 GUI:Gnome,KDE,Xface CLI:sh,csh,ksh,bash,tcsh,zsh Linux中大多 ...
- Zsh vs. Bash不完全对比解析,zsh是一种更强大的被成为“终极”的Shell
https://www.zhihu.com/question/21418449 Mort | Zsh vs. Bash:不完全对比解析(1) 2014-10-07 bdpqlxz Zsh和Bash, ...
最新文章
- CS专业读PhD是否有意义?附CS奖学金项目清单
- 位置信息网 http://www.LocationInfo.net
- ElementUI中的el-select中多选回显数据后没法重新选择和更改
- php 返回object,深入分析使用mysql_fetch_object()以对象的形式返回查询结果
- 人工智能的炒作_人工智能与网络安全结合从炒作走向现实
- Android开发之ListView中Adapter的优化
- 【DIY】通达信DIY添加扫雷宝、地图和复盘(1)
- 自建KMS激活服务器
- 一道智商测试题 月薪三万
- 计算机等级考试:IE地址栏不见了 怎么让消失了的IE地址栏神奇的再次出现。?
- 厦大1394 抛硬币
- 那个职员建议他们去计算机博物馆英语,新目标英语九年级Unit 3 Section B录音(音频+文本+翻译)...
- 可以检测手机帧率和温度的软件_拯救者电竞手机Pro评测:不只是一台手机,更是游戏主机...
- C++String fing函数
- opencv中人脸识别算法的基本原理
- Tensorflow2.0+Anaconda + Windows10+cuda10.0+python3.7+spyder安装教程
- 图像滤镜艺术---最新美颜算法研究
- 不使用strlen函数求字符串的长度的方法
- camera 驱动 GT2005
- android+手机管家,腾讯手机管家—QQ微信保护