【发布时间】:2014-02-13 05:08:06
【问题描述】:
我们正在使用 crontab 来安排作业,它没有选择具有 [ 或 ] 或 ¿ 的文件进行处理。给出文件名或这些字符在 UNIX 中是否有任何限制?有没有像这些我们不应该在文件名中使用的其他变量?提前致谢。
【问题讨论】:
标签: variables unix scheduled-tasks filenames
我们正在使用 crontab 来安排作业,它没有选择具有 [ 或 ] 或 ¿ 的文件进行处理。给出文件名或这些字符在 UNIX 中是否有任何限制?有没有像这些我们不应该在文件名中使用的其他变量?提前致谢。
【问题讨论】:
标签: variables unix scheduled-tasks filenames
以下是 Linux 和 Unix(包括 *BSD)类系统的一般规则:
您可以使用基于点的文件扩展名来识别文件。例如:
.sh = Shell file
.tar.gz = Compressed archive
Linux / UNIX:保留字符和单词
避免在文件名中使用以下字符:
/
>
<
|
:
&
请注意,Linux 和 UNIX 允许使用空格、、|、\、:、(、)、&、;,以及诸如 ? 等通配符。和 *,使用 \ 符号引用或转义。
如果您可以避免文件名中出现空格,那就太好了。这将使您的脚本编写更加容易。
我从this link 得到了答案。我只是将其粘贴在这里,以便即使该网站出现故障,也可以使用此信息。
【讨论】:
在 *nix 文件名中真正非法的唯一字符是 /(保留为目录分隔符)和 NUL(因为它是 C 字符串终止符)。其他一切都是公平的游戏,尽管各种实用程序可能会在某些字符上失败 - 通常是对 shell 具有特殊含义的字符。这些将需要引用或转义才能正确处理。
【讨论】: