到底是什么原因?

sh/bash/dash/ksh/zsh等Shell脚本
回复
谢宝良
帖子: 1983
注册时间: 2010-05-01 21:23

到底是什么原因?

#1

帖子 谢宝良 » 2015-03-14 14:22

#!/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: 到底是什么原因?

#2

帖子 谢宝良 » 2015-03-14 14:28

#!/bin/bash
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: 到底是什么原因?

#3

帖子 susbarbatus » 2015-03-14 16:48

简化一下成这个样子:
a=0
echo a=1
echo $a
第二行没有赋值,echo 后面的内容经过了 shell 的 expansion 之后就完整得被 echo 出来了, = 没有执行
沉迷将棋中……
回复