当我尝试壳 -shell变量的意外级联
执行下面的代码行#!/bin/sh
mc=XX:XX:XX:XX; dd bs=1 count=2 if=/dev/random 2>/dev/null |hexdump -v -e '/1 ":%02X"'
echo $mc
输出我得到的是
:04:CCXX:XX:XX:XX
,即。 X的末尾连接起来而不是起始。我也试过这个(如在SO上的答案中提到的) -
#!/bin/sh
mc=XX:XX:XX:XX
mc=$mc dd bs=1 count=2 if=/dev/random 2>/dev/null |hexdump -v -e '/1 ":%02X"'
echo $mc
我仍然得到相同的输出。我在这里错过了什么?我是壳新手,所以请原谅我的任何明显的错误
为什么你期望'echo'的输出发生在其他地方,而不是在它之前的命令输出之后?何时以及如何为'mc'赋值,对其值的'echo'何时执行没有影响。脚本从上到下进行评估; 'echo'在'dd |之后hexdump'。无论如何,目前还不清楚你正在尝试完成什么或者你期望如何发生 - 也许扩展你想要做的事以及这个代码应该如何促进这一点。 – tripleee
我正尝试使用上面的代码生成随机MAC地址。 XX:XX:XX:XX表示固定部分,对于生成的任何新地址将被固定,剩余部分地址将随机生成 – Backspace