簡體   English   中英

在Bash中反轉二進制數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM