[英]Inverting a binary number in Bash
我正在嘗試使用bash和shell腳本使1 0變成8位二進制數,反之亦然,然后保存新變量,將10101010變成01010101。
input=10101010
echo $input
echo $Input | tr 01 10
會給我
10101010
01010101
但如果嘗試嘗試,則不允許我將其保存到新變量中:
invertedInput=$Input | tr 01 10
我該如何正確處理?
使用x=$(cmd)
捕獲命令的輸出並將其分配給變量。
另外,作為一種好習慣,請使用cmd <<< ...
代替echo ... | cmd
將變量的內容傳遞到命令的標准輸入時使用echo ... | cmd
。
像這樣:
input=10101010
invertedInput=$(tr 01 10 <<< "$input")
echo "$invertedInput"
# prints: 01010101
您只需要用$()包裝表達式的輸出
invertedInput=$(echo $input | tr 01 10)
回聲$ invertedInput
01010101
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.