将数字的最后一位设置为 shell 脚本中的变量

jms*_*980 1 variables bash shell pipe

我有一个数字2014061200,我试图提取这个数字的个位 ( 0) 并将其设置为一个变量$STR,这样$STR就等于0,因为它位于上述数字的位置。

我制作了一个 shell 脚本,显示以下内容:

$NUM=2014061200
$STR= $NUM | tail -c 2
echo $STR
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,我得到一个空白,$STR而不是预期的结果 0。我的意思是当我输入时

echo $NUM | tail -c 2,我确实得到了 0 的输出,但是如何将其转换为变量?

谢谢

cho*_*oba 5

使用参数扩展:

num=2014061200
last=${num: -1}
Run Code Online (Sandbox Code Playgroud)

-1 告诉 bash 从右边提取一个字符。

  • 值得指出的是,在使用负偏移量时,该扩展中的嵌入空间 ** 很重要。无论是那个还是`​​${num:(-1)}`。 (2认同)