- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的 ksh 脚本中,我有参数 VERSION=3.9.2X
。 $VERSION
始终以 3.9.2
开头,X
可以是任何整数或 float 。
以下不规则 ksh 语法适用于任何 X 整数,但不适用于 float (例如,它不适用于 X=2.34
或 X=22.123
)
为了支持 float ,我需要在语法中添加什么?
[[ $VERSION = 3.9.2*([0-9]) ]] && echo right version
可能是 $VERSION 值的示例
VERSION=3.9.22.34-3
VERSION=3.9.20.34.3
VERSION=3.9.29.34-3
VERSION=3.9.212.3.4-3
VERSION=3.9.21.34.2-3.3
VERSION=3.9.273
VERSION=3.9.210.3
最佳答案
这是你想要的吗?不确定...
kent$ ksh
$ VERSION=3.9.21.2.3.4.5
$ [[ $VERSION = 3.9.2*([0-9\.]) ]] && echo $VERSION
3.9.21.2.3.4.5
编辑
kent$ ksh
$ VERSION=3.9.21.2.3.4.5-34556
$ [[ $VERSION = 3.9.2*([0-9\.-]) ]] && echo $VERSION
3.9.21.2.3.4.5-34556
EDIT2
$ VERSION=3.9.21.2.3.4.5-345_5-60_2-3
$ [[ $VERSION = 3.9.2*([_0-9\.-]) ]] && echo $VERSION
3.9.21.2.3.4.5-345_5-60_2-3
关于linux - ksh + 不规则的 ksh 语法以支持 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9127205/
我想知道为什么下面的小脚本现在可以工作。 我在/data 目录下创建了 dfFile 但脚本没有打印 if 语句中的表达式。 #!/bin/ksh DATAFILE="/data/dfFile" ec
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我正在编写一个简单的 ksh 脚本。我必须检查字符串是否为空。怎么做呢?这就是我所拥有的: findRes=`find . -name believe | xargs grep -q "ser"` i
首先介绍一点背景知识:我们有 9 个 JVM 服务器,它们输出日志文件,我不断地解析这些日志文件以查找何时发生错误。日志每 5-10 分钟滚动一次,但文件名不会更改。我使用 SupperPutty 打
当脚本由 ksh 提供时,它如何确定它的路径? IE。 $ ksh ". foo.sh" 我已经在 stackoverflow 和其他地方发布的 BASH 中看到了非常好的方法,但还没有找到 ksh
我在某处读到 ksh 的数组支持 += 来追加新元素,但我试过了,它不起作用: [ksh] # arr=(a b c d) [ksh] # arr+=e [ksh] # echo ${arr[*]}
在我的 ksh 脚本中,我有参数 VERSION=3.9.2X。 $VERSION 始终以 3.9.2 开头,X 可以是任何整数或 float 。 以下不规则 ksh 语法适用于任何 X 整数,但不适
我参与了将包含数百个 ksh 脚本的系统从 AIX、Solaris 和 HPUX 移植到 Linux 的过程。我发现 ksh 在两个系统上的行为方式存在以下差异: #!/bin/ksh flag=fa
我正在编写一个 Expect 脚本并且在处理 shell 提示时遇到了麻烦(在 Linux 上)。我的 Expect 脚本生成 rlogin并且远程系统正在使用 ksh .远程系统上的提示包含当前目录
我讨厌 eval... 我被这个 ksh 困住了,它必须是这样的。 我需要这个函数,它将接收一个变量名和一个值。将对该变量的内容和值做一些事情,然后必须更新接收到的变量。排序: REPORT="a t
我希望我的 ksh 脚本具有不同的行为,具体取决于是否有通过 stdin 传入的内容: (1) cat file.txt | ./script.ksh (then do "cat ./tmp
set -o vi-tabcomplete正在打开选项卡自动完成 和 set -o emacs正在打开历史记录(上一个命令向上,下一个命令向下) 但是,如果我同时在 ~/.kshrc 中设置,它只会打
#!/bin/ksh ######################### for i in {1..30} ;do echo $i done 输出是: {1..30} 我的代码有什么问题
我编写了一个示例 KornShell 函数来拆分字符串,将其放入数组中,然后打印出值。 代码如下 #!/usr/bin/ksh splitString() { string="abc@hotm
我需要检查变量是否具有以指定子字符串开头的字符串值。 在 Python 中,它会是这样的: foo = 'abcdef' if foo.startswith('abc'): print 'Su
我正在尝试在 ksh 中构建一种属性集。 我认为最简单的方法是使用数组,但语法太让我难受了。 我想要的是 在配置文件中构建具有名称和属性的任意大小的数组。 迭代该列表中的每个项目并获取该属性。 我理论
我正在尝试在 ksh 中构建一种属性集。 我认为最简单的方法是使用数组,但语法太让我难受了。 我想要的是 在配置文件中构建具有名称和属性的任意大小的数组。 迭代该列表中的每个项目并获取该属性。 我理论
我需要知道执行赋值的命令的退出状态。 export VALUE=`My_Get_Value 10` 我需要知道 My_Get_Value 脚本的退出状态。 在$?中,我拥有分配本身的状态。 我在 KS
我使用内置的“getopts”ksh 来处理命令行选项,我正在寻找一种干净/标准的方法来“取消设置”命令行上的选项。我不知道这是关于 getopts 的技术问题还是更多的风格/标准问题。无论如何,我知
在 ksh 中,如下所示 iname=FA USER_FA=xyz USER_CS=test TDUSER=USER_$iname ${!TDUSER} ${!TDUSER} 未按预期工作。为什么?
我是一名优秀的程序员,十分优秀!