我有一个shell脚本(这里的玩具示例):
它在当前目录中创建一个文件:
#! /usr/bin/sh
touch ./toy
touch ./doll
touch ./boy
touch ./kuky
touch ./beer
这个shell放在一条很深的路径上:/somewhere/which/is/in/a/huge/path/tree/maze
但是当我使用crontab执行该shell脚本时,毫无疑问它会在~/
下创建这些文件。
所以这意味着如果我想在/somewhere/which/is/in/a/huge/path/tree/maze
上创建这些文件,我必须在每次触摸命令后添加这条长路径。在这种情况下五条长路。阅读灾难。
但是,如果我可以更改执行此shell的根文件,我将只需要脚本或crontab中的一个这样的路径。
有办法吗?
答案 0 :(得分:1)
更改目录:
#!/bin/sh
cd /somewhere/which/is/in/a/huge/path/tree/maze
...
或使用变量:
dir="/somewhere/which/is/in/a/huge/path/tree/maze"
touch "$dir/toy"
...
答案 1 :(得分:0)
在我的debian crontab中,我有这个条目:
17 * * * * root cd / && run-parts --report /etc/cron.hourly
我需要告诉更多吗?