我有一个相当简单的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