gpt4 book ai didi

linux - 检查和修改期望脚本中变量的格式

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:48 25 4
gpt4 key购买 nike

我正在尝试验证一个变量的格式是一个数字,并且在 expect 脚本中至少有 10 位数字,前导零。

在 bash 脚本中它看起来像这样:

[[ "$var" != +([0-9]) ]] && echo "bad input" && exit
while [[ $(echo -n ${var} | wc -c) -lt 10 ]] ; do var="0${var}" ; done

对于以下输入:

16

我正在尝试实现以下输出:

0000000016

最佳答案

检查变量是否只有数字的最简单方法是使用正则表达式。 Expect 的正则表达式完全可以胜任这项任务:

if {![regexp {^\d+$} $var]} {
puts "bad input"
exit
}

用零填充最好通过格式化值来完成;如果你知道 C 的 printf(),你就会认出格式:

set var [format "%010d" $var]

关于linux - 检查和修改期望脚本中变量的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10956415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com