Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
无法修复在Linux中尝试返回最旧文件时出现的错误_Linux_Bash - Fatal编程技术网

无法修复在Linux中尝试返回最旧文件时出现的错误

无法修复在Linux中尝试返回最旧文件时出现的错误,linux,bash,Linux,Bash,我在网上浏览了一下,并提到了这一点,但在我写自己的脚本时,我不确定如何更正我的错误…我自己也尝试过修复这些错误,但我需要修复的只是弹出的更多错误 第3行:不确定是否需要 第5行:不确定这是否是正确的代码-我不认为它正在检查我希望它检查的内容 第6行:不确定如何在-name位中获得正确的输出(以显示实际最旧文件的名称) 我的代码- 1#/bin/bash 2 echo“搜索最早的文件” 3查找~-名称“*” 4“执行任务” 5查找-键入$HOME f-打印$HOME f“%T+%p\0”|排序

我在网上浏览了一下,并提到了这一点,但在我写自己的脚本时,我不确定如何更正我的错误…我自己也尝试过修复这些错误,但我需要修复的只是弹出的更多错误

  • 第3行:不确定是否需要
  • 第5行:不确定这是否是正确的代码-我不认为它正在检查我希望它检查的内容
  • 第6行:不确定如何在
    -name
    位中获得正确的输出(以显示实际最旧文件的名称)
我的代码-

1#/bin/bash
2 echo“搜索最早的文件”
3查找~-名称“*”
4“执行任务”
5查找-键入$HOME f-打印$HOME f“%T+%p\0”|排序|头-n 1;
6 echo“列表中最早的文件是”-name;
提前谢谢你

  • 你到底想达到什么目的?您只是在尝试查找最旧的文件吗
  • 文件
    需要一个路径作为第一个参数,或者可以将其写入
    find-type$HOME f
    可能应该是
    find$HOME-type f
  • 还有一个2<代码>$HOME太多
  • 您将
    printf
    拆分为
    printf
  • 您不会将
    find
    的输出保存在变量中,因此无法访问第行中的名称
  • 您还可以使用$访问变量,而不是使用-或者
    -name
    应该在末尾是什么
  • 您已将
    \n
    更改为
    \0
    ,因此所有内容都是一行,
    头-n1
    不起任何作用
  • 我添加了cut来提取没有时间戳的文件名
  • 这应该满足您的要求:

    echo“搜索最早的文件”
    回应“执行任务”
    最旧的_文件=$(查找$HOME-type f-printf“%T+%p\n”|排序|头-n1 |剪切-d'-f2-)
    echo“列表中最早的文件是$oldest\u file”
    
    感谢您建议的编辑!这是一个练习,我在我的计算机上创建了一些虚拟文件,并询问自己是否可以检索最早创建的虚拟文件。在看到您的回复之前,我做了一些编辑,也采纳了您的建议,但我仍然收到“没有这样的文件或目录”的消息。例如,我已经创建了背靠背的文件(称为tech、hub、phone的文件),那么代码应该给我“列表中最早的文件是tech”。