Bash 在shell脚本中将数字的最后一位设置为变量
我有一个数字Bash 在shell脚本中将数字的最后一位设置为变量,bash,shell,variables,pipe,Bash,Shell,Variables,Pipe,我有一个数字2014061200,我试图提取这个数字的一位(0),并将其设置为变量$STR,这样$STR将等于0,因为这是上述数字的一位 我制作了一个shell脚本,显示以下内容: $NUM=2014061200 $STR= $NUM | tail -c 2 echo $STR 但是,当我这样做时,$STR会得到一个空白,而不是预期的结果0。我是说当我打字的时候 echo$NUM | tail-c2,我确实得到了0的输出,但是如何将其输入到变量中呢 感谢使用参数扩展: num=20140612
2014061200
,我试图提取这个数字的一位(0
),并将其设置为变量$STR
,这样$STR
将等于0
,因为这是上述数字的一位
我制作了一个shell脚本,显示以下内容:
$NUM=2014061200
$STR= $NUM | tail -c 2
echo $STR
但是,当我这样做时,$STR
会得到一个空白,而不是预期的结果0。我是说当我打字的时候
echo$NUM | tail-c2
,我确实得到了0的输出,但是如何将其输入到变量中呢
感谢使用参数扩展:
num=2014061200
last=${num: -1}
-1
告诉bash从右侧提取一个字符。使用参数展开:
num=2014061200
last=${num: -1}
-1
告诉bash从右边提取一个字符。这里是另一个使用参数展开的变体,其中${num}-1
是字符串的长度减去1,${num:position:length}
是子字符串表达式:
${num:(${#num}-1):1}
下面是另一个使用参数展开的变体,其中
${num}-1
是字符串的长度减去1,而${num:position:length}
是子字符串表达式:
${num:(${#num}-1):1}
请格式化您的代码。请格式化您的代码。值得指出的是,当使用负偏移量时,扩展中的嵌入空间非常重要。或者
${num:(-1)}
。值得指出的是,当使用负偏移量时,扩展中的嵌入空间非常重要。要么那样,要么${num:(-1)}
。