#!/bin/bash
a=$( cat /proc/sys/kernel/random/uuid| cksum | cut -f1 -d" ")
echo a=$"13"${a:0:3}${a:0-2}$"223"
echo $a>1.txt
在终端运行,结果a显示的数值跟写到文件1.txt的数据是不同的。
哪位高手解答一下?
到底是什么原因?
-
- 帖子: 1983
- 注册时间: 2010-05-01 21:23
Re: 到底是什么原因?
#!/bin/bash
a=$( cat /proc/sys/kernel/random/uuid| cksum | cut -f1 -d" ")
echo $"13"${a:0:3}${a:0-2}$"223">1.txt
这样就行了。奇怪。
a=$( cat /proc/sys/kernel/random/uuid| cksum | cut -f1 -d" ")
echo $"13"${a:0:3}${a:0-2}$"223">1.txt
这样就行了。奇怪。
- susbarbatus
- 帖子: 2966
- 注册时间: 2010-04-10 16:14
- 系统: Arch Linux
Re: 到底是什么原因?
简化一下成这个样子:
第二行没有赋值,echo 后面的内容经过了 shell 的 expansion 之后就完整得被 echo 出来了, = 没有执行a=0
echo a=1
echo $a
沉迷将棋中……