求助 shell中变量的定义问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
zhangxiaofir
帖子: 53
注册时间: 2010-12-09 23:54

求助 shell中变量的定义问题

#1

帖子 zhangxiaofir » 2012-08-27 15:19

我想把 env LANG=en_US.UTF-8 date -d "1 day ago" |cut -d ' ' -f2,3 得到的值付给DATE 然后写成
DATE='env LANG=en_US.UTF-8 date -d "1 day ago" |cut -d ' ' -f2,3' 这样不行 - -
该怎样才能把值付给变量哈?
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 求助 shell中变量的定义问题

#2

帖子 枫叶饭团 » 2012-08-27 15:23

代码: 全选

DATE=`env LANG=en_US.UTF-8 date -d "1 day ago" |cut -d ' ' -f2,3`
看似一样,却不一样
zhangxiaofir
帖子: 53
注册时间: 2010-12-09 23:54

Re: 求助 shell中变量的定义问题

#3

帖子 zhangxiaofir » 2012-08-27 15:29

枫叶饭团 写了:

代码: 全选

DATE=`env LANG=en_US.UTF-8 date -d "1 day ago" |cut -d ' ' -f2,3`
看似一样,却不一样
原来这样哈 谢谢了哈
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 求助 shell中变量的定义问题

#4

帖子 tusooa » 2012-08-28 15:34

zhangxiaofir 写了:
枫叶饭团 写了:

代码: 全选

DATE=`env LANG=en_US.UTF-8 date -d "1 day ago" |cut -d ' ' -f2,3`
看似一样,却不一样
原来这样哈 谢谢了哈
不要以上写法。如果要嵌套,就麻烦了。推荐下边这种。

代码: 全选

Date="$(env LANG=en_US.UTF-8 date -d "1 day ago" |cut -d ' ' -f2,3)"
另外,建议在shell里,只要$,就要引号。
exp老喜欢在perl里也这么干。其实没必要。

代码: 全选

] ls -ld //
zhangxiaofir
帖子: 53
注册时间: 2010-12-09 23:54

Re: 求助 shell中变量的定义问题

#5

帖子 zhangxiaofir » 2012-08-28 19:46

tusooa 写了:
zhangxiaofir 写了:
枫叶饭团 写了:

代码: 全选

DATE=`env LANG=en_US.UTF-8 date -d "1 day ago" |cut -d ' ' -f2,3`
看似一样,却不一样
原来这样哈 谢谢了哈
不要以上写法。如果要嵌套,就麻烦了。推荐下边这种。

代码: 全选

Date="$(env LANG=en_US.UTF-8 date -d "1 day ago" |cut -d ' ' -f2,3)"
另外,建议在shell里,只要$,就要引号。
exp老喜欢在perl里也这么干。其实没必要。
谢谢指点
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 求助 shell中变量的定义问题

#6

帖子 自由建客 » 2012-08-28 19:48

学习了 :em11
回复