我有一個相當簡單的bash shell腳本問題。將複雜的命令結果分配給變量
我想sed
一段文字,然後將sed
的結果賦值給一個變量。
#!/bin/bash
MOD_DATE=echo $(date) | sed 's/\ /_/g'
echo $MOD_DATE // should show date with spaces replaced with underscores.
我已經嘗試了上述,它不起作用。任何人都可以指出我做錯了什麼?
我有一個相當簡單的bash shell腳本問題。將複雜的命令結果分配給變量
我想sed
一段文字,然後將sed
的結果賦值給一個變量。
#!/bin/bash
MOD_DATE=echo $(date) | sed 's/\ /_/g'
echo $MOD_DATE // should show date with spaces replaced with underscores.
我已經嘗試了上述,它不起作用。任何人都可以指出我做錯了什麼?
收集在標準輸出輸出到一個變量,使用command substitution:
MOD_DATE=`echo $(date) | sed 's/\ /_/g'`
# ^ ^
或
MOD_DATE=$(echo $(date) | sed 's/\ /_/g')
# ^^ ^
也許這可以幫助:對於
mod_date = "$(date +"%d_%m_%Y")"
echo "$mod_date"
這根本不起作用... – bstpierre 2012-10-03 18:42:36
您不能在'='周圍放置空格。 – 2015-05-20 22:10:18
完美,謝謝。 – radman 2010-05-24 07:03:17