簡體   English   中英

將Bash賦值給變量作為命令替換和打印值輸出

[英]Bash assignment value to variable as command substitution and print value output

我想在Bash中實現這一點: echo $(a=1)並輸出變量a的值

我測試了eval$$a{}$()但是它們大多數都無法正常工作,或者我得到的字面a=1或在一種情況下(我不記得是哪個)它嘗試執行該值。

我知道我可以做到: a=1;echo $a但由於我每行一個命令的樂趣很小(即使有時變得有點復雜),我想知道是否可以通過echoprintf做到這一點

如果您知道$a之前未設置,則可以使用以下語法進行操作:

echo ${a:=1}

參數擴展和其他類型在POSIX Shell命令語言規范中定義。

如果要分配數字值,則不依賴於先前未設置的值的另一個選項是使用算術擴展:

echo $(( a = 1 ))

這將分配值並回顯已分配的編號。

值得一提的是,由於子進程無法修改其父級的環境,因此您無法通過設計在子shell中完成您要執行的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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