<分区>
我在 centOS 中编写了一个简单的 shell 脚本,并从一个 cron 作业中执行它。 我的脚本如下所示:
#!/bin/bash
export PATH=$PATH:$(pwd)
echo $PATH
echo $PATH| mail -s "PATH" me@gmail.com
如果我直接从终端执行这个脚本,它的输出如下:
/sbin:/bin:/usr/sbin:/usr/bin:/vagrant
其中/vagrant 是我所期望的。
但是如果这是从 cron 作业执行的,它输出(在我的邮件中)如下:
/usr/bin:/bin:/root
从 cron 作业执行时如何正确设置/vagrant?
更新:我可以将/vagrant 设置为 PATH,但它只对我有用。如果我将我的脚本部署到其他用户,他们必须创建这个目录。所以我想让脚本像从它运行的地方导出位置一样。
在我的例子中,我的脚本是从/vagrant 运行的,但当前目录被导出为/root。这就是问题所在。
更新:遗憾的是,路径已正确导出,但据报告找不到/vagrant 目录中的文件。