我无法想象我是唯一有此需求的Mac用户。基本上,我有自定义别名,包括输出日期。但是,如果我希望第二天使用计算机时日期正确,我必须重新提供.basrc。
一个用途是通过命令行发布工作时间。
示例:
"post -d `date -v-1d "+%Y-%m-%d"`"
今天,该别名将正确解析为:
"post -d 2014-04-02"
然而,明天它仍将显示2014-04-02,除非我重新发布我的.bashrc。
我真正的问题是:我如何按月安排自动提供.bashrc ?
我实际上每个月只需要重新发一次(我正在做月刊)。我打算将它设置为一个cron工作,但我想,如果我的电脑在本月1日没有开启怎么办?如果是假期怎么办?一旦计算机重新上线,我需要能够运行的东西。
所以,我调查了anacron。看来这不是一个mac实用程序,也不是家庭Brew可安装。看起来我的解决方案实际上是 launchd 。但我不太确定这是否正确。
任何人都知道launchd是否是我需要的或如何设置?我似乎只能找到有关设置环境变量的信息。谢谢!
答案 0 :(得分:1)
stackoverflow的标记令人困惑。要解决您的问题,请比较以下两个别名:
alias p='echo `date +%T`'
alias pp="echo `date +%T`"
只需用单个引号更改双引号。
答案 1 :(得分:1)
使用单引号或双引号会有所不同。使用双引号,shell将在行中执行它。使用单引号,shell会按字面意思传递它,并在运行别名时执行:
$ alias p='echo `date`'
$ p
Thu Apr 3 12:56:02 EDT 2014
$ p
Thu Apr 3 12:56:03 EDT 2014
$ p
Thu Apr 3 12:56:04 EDT 2014
$ alias p="echo `date`"
$ p
Thu Apr 3 12:57:14 EDT 2014
$ p
Thu Apr 3 12:57:14 EDT 2014
$ p
Thu Apr 3 12:57:14 EDT 2014
出于同样的原因,双重与单引号行为的另一个例子是对shell变量的评估:
$ x=1
$ echo '$x'
$x
$ echo "$x"
1