忽略 tcsh 脚本中 cp 的 "cannot stat" 错误(文件不存在)
Ignore "cannot stat" error (file does not exist) for cp in tcsh script
我有使用 tcsh shell 的 makefile(我知道不推荐这样做,但这是一项要求)。如果 a.txt
不存在,我不希望它中断,但我希望它继续执行下一个命令。我该怎么做?
setup:
cp -rf a.txt b.txt; \
[other things that should be executed]
您可以使用类似的东西:
([ -f a.txt ] && cp a.txt b.txt); ls
这在 C shells 和 Bourne shells
中都有效
[ -f a.txt ]
使用 test
(又名 [
)命令检查 a.txt
是否存在。
&&
是"and"运算符,如果前面的命令([
)成功,则只执行下一个命令(cp
)。
- 我们将其括在括号 (
(...)
) 中以将其组合在一起,因此我们可以添加 ;
和 运行 更多不受文件测试影响的命令。
我们也可以使用 C shell 的内置 if
,但对于不熟悉 csh 的人(即大多数人)来说,这更便于携带和熟悉。
我有使用 tcsh shell 的 makefile(我知道不推荐这样做,但这是一项要求)。如果 a.txt
不存在,我不希望它中断,但我希望它继续执行下一个命令。我该怎么做?
setup:
cp -rf a.txt b.txt; \
[other things that should be executed]
您可以使用类似的东西:
([ -f a.txt ] && cp a.txt b.txt); ls
这在 C shells 和 Bourne shells
中都有效[ -f a.txt ]
使用test
(又名[
)命令检查a.txt
是否存在。&&
是"and"运算符,如果前面的命令([
)成功,则只执行下一个命令(cp
)。- 我们将其括在括号 (
(...)
) 中以将其组合在一起,因此我们可以添加;
和 运行 更多不受文件测试影响的命令。
我们也可以使用 C shell 的内置 if
,但对于不熟悉 csh 的人(即大多数人)来说,这更便于携带和熟悉。