我有一个相当简单的bash shell脚本问题。
我想sed
一段文字,然后将sed
的结果分配给变量。
#!/bin/bash
MOD_DATE=echo $(date) | sed 's/\ /_/g'
echo $MOD_DATE // should show date with spaces replaced with underscores.
我已尝试过上述内容并且无效。谁能指出我做错了什么?
答案 0 :(得分:5)
要将stdout中的输出收集到变量中,请使用command substitution:
MOD_DATE=`echo $(date) | sed 's/\ /_/g'`
# ^ ^
或
MOD_DATE=$(echo $(date) | sed 's/\ /_/g')
# ^^ ^
答案 1 :(得分:-1)
也许这会有所帮助:
mod_date = "$(date +"%d_%m_%Y")"
echo "$mod_date"