【问题标题】:issues "using ls -al --full-time" in OSX [closed]在 OSX 中“使用 ls -al --full-time”的问题 [关闭]
【发布时间】:2013-02-23 13:40:28
【问题描述】:

--full-timels 的一个方便的小选项,但在批处理文件中使用时不起作用。

ls -al --full-time 在命令提示符下使用时会产生扩展的日期和时间:

2012-01-16 18:56:00.000000000

在 bash 脚本中使用我得到了这个:

ls: 非法选项 -- - 用法: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

有没有办法解决这个问题。

【问题讨论】:

  • 想向我们展示您的脚本吗?我在 bash 文件中对该命令没有任何问题。
  • 我希望我知道一种格式化 ls 日期时间的方法(我宁愿看 ISO-8601)。 Apple 的 ls 的 BSD 手册似乎没有提供格式化日期时间的功能,除了更改时区和按日期时间而不是 alpha 排序。 developer.apple.com/library/mac/documentation/Darwin/Reference/…

标签: macos bash ls


【解决方案1】:

对于原生ls 命令,选项-T 似乎是--full-time 的替代,并且它扩展为秒,示例如下:

>$  ls -lT
-rw-r--r--   1 raison staff     197 Feb 14 09:12:56 2013 1.c
-rw-r--r--   1 raison staff    1174 Mar  8 09:34:49 2013 1.s
-rw-r--r--   1 raison staff     993 Feb  5 14:44:09 2013 1.x86.s

【讨论】:

    【解决方案2】:

    ls 的 BSD (Mac OS X) 版本(安装为 /usr/bin/ls)不支持 --full-time 选项。

    ls 的 GNU 版本确实支持 --full-time。我将 GNU ls 安装在不同的目录 (/usr/gnu/bin/ls) 中。

    • 你确定你的机器上有 GNU ls 吗?
    • 如果是这样,当您运行脚本时,您确定您的 PATH 包含安装在 /usr/bin 之前的目录吗?

    【讨论】:

      【解决方案3】:
      $ uname -rs
      Darwin 11.4.2
      $ ls -al --full-time
      ls: illegal option -- -
      usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
      

      您确定您的ls 实际上不是由自制软件安装的gls

      【讨论】:

      • 我在 Darwin 12.2.0 上看到了同样的事情——调用永远不会起作用。
      • 其实我试过gls,它在脚本中运行良好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-13
      • 2016-01-14
      • 2012-06-28
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多