我需要将两个数字添加到位置参数 $1,它们之间有破折号,即“15-20”。它是一个从 15 到 20 的区间,它必须是一个一个位置参数。我这样做了:
#!/bin/sh
a=$(echo "$1" | sed 's/-/ /g')
echo $a
它打印: 15 20 我将来需要这个作为间隔,所以我必须将这些数字中的每一个作为单独的变量。而不是 a = 15 20,它应该是 a = 15 和 b = 20。我怎样才能做到这一点?
最佳答案
使用 /bin/sh
,使用 read
和此处文档。
IFS=- read a b <<EOF
$1
EOF
或者,使用两次参数扩展来删除前缀/后缀。
a=${1%-*}
b=${1#*-}
关于shell - 如何从一个位置参数生成两个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37510331/