我基本上是在尝试比较两个文件,作为其中的一部分,我将文件的cksum分配给变量。但是当我尝试比较它时,它没有用。我意识到,当我尝试读取变量时,没有任何内容被打印出来
以下命令工作正常
s.joseph@VA-S-JOSEPH-900 /cygdrive/c/users/Anuprita
$ test=`cksum interface2 | awk -F" " '{ print $1 }'`
s.joseph@VA-S-JOSEPH-900 /cygdrive/c/users/Anuprita
$ echo "$test"
3021988741
但是当这些是脚本的一部分而我尝试echo $var
时,没有任何内容被打印
$ for i in `ls interface*`;
do chksum1=`cksum $i | awk -F" " '{ print "'$1'" }'`;
echo "$chksum1";
done
s.joseph@VA-S-JOSEPH-900 /cygdrive/c/users/Anuprita
$
我正在使用bash shell
如果不将其分配给任何变量,输出如下所示
for i in interface *;做echo" interface = \" $ i \"&#34 ;; cksum" $ i&#34 ;;完成
接口=" interface11" 4113442291 111 interface11 接口=" interface17" 1275738681 111 interface17 接口="接口2" 3021988741 186 interface2
看起来这只是在cygwin上使用bash的问题。该脚本似乎在unix上运行得很好
for ls interface*
;做chksum1 = cksum $i | awk -F" " '{ print $1 }'
; echo $ i,$ chksum1; DONE
interface1,4294967295
interface2,4294967295
答案 0 :(得分:0)
试试这个;
for i in ls interface*; do echo "interface=$i"; chksum1=$(cksum $i | awk -F" " '{ print "'$1'" }'); echo "$chksum1"; done
我喜欢添加echo语句来验证你对ls语句的看法,并且变量赋值应该使用$(cmd)或`cmd`
干杯
答案 1 :(得分:0)
你的第二个剧本中有什么:
print "'$1'"
与你在第一篇文章中的内容完全不同:
print $1
考虑一下,问问自己为什么要改变它以及你想要实现的目标。另请man awk
并g
print "'$1'"
查看for i in interface*; do chksum1=$(cksum "$i" | awk '{ print $1 }'); echo "$chksum1"; done
的内容。
最好的我可以告诉你没有并提供样本输入你的脚本应写:
a = tf.greater_equal(ladder, 0.99)
b = tf.where(a)