Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash “测试”;“框架”;对于具有非标准文件名的脚本_Bash_Shell - Fatal编程技术网

Bash “测试”;“框架”;对于具有非标准文件名的脚本

Bash “测试”;“框架”;对于具有非标准文件名的脚本,bash,shell,Bash,Shell,以下是对一些问题(特别是壳牌公司)的许多评论,基本上是以下一个或多个问题: 对于包含空格、换行符等的文件名,此操作将失败 如果文件是符号链接(或不是符号链接),则此操作将失败 如果$filaneme是目录而不是常规文件,则此操作将失败 等等 虽然我知道每个脚本都需要自己的测试环境,但是 这些是脚本应该免疫的一些常见问题 因此,我的意图是编写一个脚本,创建一些目录层次结构 使用“精心编制”的文件名进行测试 问题是:哪些“特殊”文件名适合此测试 目前,我有(脚本创建文件和目录)和: 文件名中的

以下是对一些问题(特别是壳牌公司)的许多评论,基本上是以下一个或多个问题:

  • 对于包含空格、换行符等的文件名,此操作将失败
  • 如果文件是符号链接(或不是符号链接),则此操作将失败
  • 如果
    $filaneme
    是目录而不是常规文件,则此操作将失败
  • 等等
虽然我知道每个脚本都需要自己的测试环境,但是 这些是脚本应该免疫的一些常见问题

因此,我的意图是编写一个脚本,创建一些目录层次结构 使用“精心编制”的文件名进行测试

问题是:哪些“特殊”文件名适合此测试

目前,我有(脚本创建文件和目录)和:

  • 文件名中的空格
  • 文件名中的换行符
  • 以以下之一开头的文件名:
    • -
      (类似于命令参数)
    • #
      (注释字符)
    • (命令历史记录)
  • 包含以下内容之一的文件名:
    • |
      char(管道)
    • ()
      字符
    • *
      (通配符)
  • 使用unicode字符的文件名
  • 以上都是目录
  • 指向目录的符号链接
  • 指向文件的符号链接
还有什么我不应该错过的吗?

我想到的是:

  • 文件名中的单引号和双引号
  • 开头的
    $
    字符

  • 一些重定向字符,比如
    ,我对那些传递所有这些文件的脚本感兴趣。您是否愿意在编写完脚本后与他人共享结果脚本?也许其他人以后会想改进它或添加其他案例。我建议在它上面为脚本创建一个存储库。如果您尝试一下,github非常简单。也有很好的帮助。只要注册,它就会指导你。你能多注意语法并重写你的前两条“其他评论”吗?它们很难理解。不幸的是,我的语法和谷歌翻译一样好。因此,如果它真的很糟糕-请将其标记为删除。很抱歉给您带来了麻烦;(不,你提出了很好的观点,答案肯定很有用。我只是希望你能改进它。很长的文件名、很多很多文件和很深的目录层次结构也会使sime系统出错。