- 论坛徽章:
- 0
|
下面的代码,都是在crontab里运行(如果在一个终端界面里执行以下代码,是正常结果——会创建b1,b2,b3)。代码里的/usr/local/bin/xxx并非同一个程序;同一个程序,也并非总是异常,只是在某些参数下会出现以下问题。但是我无法从程序的参数区别看出问题。我觉得这是一个和系统的输入输出有关的问题,是不是我什么地方配置错误了?到目前为止已经遇到了三个不同的程序出现了这个错误。
我的系统是debian 64bit。
- #!/bin/sh
- touch /tmp/b1
- /usr/local/bin/xxx
- touch /tmp/b2
- touch /tmp/b3
复制代码
以上代码是没问题的。b1,b2,b3会被创建。
- #!/bin/sh
- touch /tmp/b1
- /usr/local/bin/xxx
- touch /tmp/b2
- echo abc
- touch /tmp/b3
复制代码
这一句,我加了echo。只有b1,b2被创建。
- #!/bin/sh
- touch /tmp/b1
- /usr/local/bin/xxx 1>/tmp/out
- touch /tmp/b2
- echo abc
- touch /tmp/b3
复制代码
这句重定向了stdout,b1,b2被创建。
- #!/bin/sh
- touch /tmp/b1
- /usr/local/bin/xxx 2>/tmp/out
- touch /tmp/b2
- echo abc
- touch /tmp/b3
复制代码
这句重定向了stderr,b1,b2,b3被创建。 |
|