shell - KSH 检查字符串是否以子字符串开头

标签 shell string ksh

我需要检查变量是否具有以指定子字符串开头的字符串值。

在 Python 中,它会是这样的:

foo = 'abcdef'
if foo.startswith('abc'):
    print 'Success'

在 Ksh 中检查是否严格的最明确的方法是什么 $foo以子串 bar 开头?

最佳答案

这很简单,但看起来有点奇怪:

if [[ "$foo" == abc* ]]; then ...

人们会假设 ksh 将使用当前目录中的文件扩展模式,但相反,它进行模式匹配。您需要 [[ , 尽管。单例[不会工作。如果 foo 中没有空格,则引号不是绝对必要的.

关于shell - KSH 检查字符串是否以子字符串开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4080388/

相关文章:

javascript concat() 方法随机添加换行符

java - 如何在辅助类中使用存储在主类中的字符串值? (详情请参见说明。Java)

bash - 是否可以 bash/ksh 调用变量的变量

shell - 伯恩 shell : send arguments $2 to $N to variadic function?

linux - 如何使用管道在 linux 控制台中用另一个文本替换一些文本?

bash - 递归读取文件夹并对每个文件夹执行命令

C# 可以将字符串格式存储在变量中吗?

linux - 计算 PATH 中每个变量中的可执行文件数

linux - 在 linux shell 中将我的输入文本转换为输出的最佳方法是什么

linux - 如何在shell脚本中提取字符串