當我嘗試殼 -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