Bash 获取小数点之前的值

Bash 获取小数点之前的值,bash,unix,ksh,decimal-point,Bash,Unix,Ksh,Decimal Point,我正在写一个Bash脚本。我有一个变量,它是一个浮点值。例如: x=2099.2 我需要小数点前的值,即只有2099可以使用以下shell参数展开: ${x%%.*} 这将删除第一个点的所有内容 现场观看: $ v=203.4 $ echo ${v%%.*} 203 $ v=2.3.4 $ echo ${v%%.*} 2 发件人: ${parameter%%word} 这个词被展开以产生一个模式,就像在文件名展开中一样。如果模式匹配参数扩展值的尾随部分,则扩展的结果是删除了最长匹配模式的

我正在写一个Bash脚本。我有一个变量,它是一个浮点值。例如:

x=2099.2

我需要小数点前的值,即只有
2099

可以使用以下shell参数展开:

${x%%.*}
这将删除第一个点的所有内容

现场观看:

$ v=203.4
$ echo ${v%%.*}
203

$ v=2.3.4
$ echo ${v%%.*}
2
发件人:

${parameter%%word}

这个词被展开以产生一个模式,就像在文件名展开中一样。如果模式匹配参数扩展值的尾随部分,则扩展的结果是删除了最长匹配模式的参数值。如果参数为“@”或“”,则模式删除操作将依次应用于每个位置参数,展开为结果列表。如果参数是下标为“@”或“”的数组变量,则模式删除操作将依次应用于数组的每个成员,展开为结果列表


这可能有助于您检查接受的答案。您还可以使用
${x%%.*}
从点中删除所有内容。什么是
bsh
脚本?现在还不清楚你的意思是不是像你的标签建议的那样
ksh
,或者
bash
.fedorqui-你的答案有效!