linux shell 中sed 替换命令不能立即保存问题

这是我的程序这段程序就叫做1.sha=`date+%Y%m%d'b=20131121sed-i"s/$b/$a/g"1.sh(当时替换当时用)mkdir20131121运... 这是我的程序 这段程序就叫做1.sh
a=`date +%Y%m%d'

b=20131121

sed - i "s/$b/$a/g" 1.sh (当时替换当时用)

mkdir 20131121

运行结果是创建了一个20131121的文件夹(也就是说虽然替换成了20131122但是没使用新值)
展开
 我来答
浮生难忆
2013-11-22 · TA获得超过920个赞
知道小有建树答主
回答量:571
采纳率:50%
帮助的人:683万
展开全部

关于日期变量,你先定义一个 a=`date +%Y%m%d`,然后下面的代码中出现的日期都可以直接用$a替代。
 

你追问的那句话可以直接如下修改:

#!/bin/bash
a=`date +%Y%m%d`
exp aa/bb file=/home/oracle/$a/aa$a.dmp

 反正a这个变量可以直接写到日期语句当中,而不需要使用+号之类的。

554817608
2013-11-22 · TA获得超过275个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:222万
展开全部
mkdir $a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QICHUAN_ZHANG
2013-11-22 · TA获得超过199个赞
知道小有建树答主
回答量:1646
采纳率:0%
帮助的人:548万
展开全部
你要是还是解决不了, 那你就找我,我给你弄下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-22
展开全部
你是每次执行脚本时穿件一个当前时间对于的文件?
更多追问追答
追问
是 每次都用新时间 替换老时间
追答

我不知道你这几条语句是一个脚本(1.sh)内还是怎么的,如果这4条语句都在一个脚本内,那明显不行。

mkdir 创建的是一个确定文件夹,哪怕你sed改变也会穿件同一个文件夹啊。


如果你的意思是创建一个新时间对应的文件夹,可以直接这样写。

#!/bin/bash
_DATE=`date +%Y%m%d`

mkdir ${_DATE}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式