小编use*_*369的帖子

为什么主管理员 UID 是 501?

我了解*主要管理员用户的用户 ID 为501,后续用户获得增量编号 ( 502, 503, ...) 但为什么501?有什么特别之处50x,这个选择的历史/技术原因是什么?

* 当我对为什么我的外部硬盘驱动器里面有所有垃圾文件感到好奇时,我开始研究这个.Trashes/501。我的搜索使我得出结论501是 *nix 系统中主管理员的用户 ID(我在 macOS 上),但不是为什么.

osx users history unix-philosophy

12
推荐指数
2
解决办法
1万
查看次数

确定自上次以来目录内容是否已更改的最快方法

我有一个脚本,使用 * 检查目录mdls(按添加时间排序),并执行一些操作。然而,mdls它有点慢,所以我\xe2\x80\x99d 喜欢仅在绝对必要时(即目录内容已更改时)才运行它。

\n\n

我的想法是运行mdls一次并缓存结果,然后执行一些操作来跟踪目录的状态。在后续运行中,我\xe2\x80\x99d 再次运行检查操作并将结果与​​我的结果进行比较。如果不同,则重新运行mdls;如果没有,则使用缓存。

\n\n

我\xe2\x80\x99m 考虑其中一个du \'/dir/path\' | tail -1(如果目录大小​​保持等于字节,则\xe2\x80\x99s 可能内容没有\xe2\x80\x99t 更改)或ls \'/dir/path\' | md5\'.

\n\n

我目前更倾向于该md5解决方案,因为它对文件重命名具有弹性。然而,这两种解决方案都很hacky,我想知道是否有\xe2\x80\x99s更有效的东西(仍然很快)。

\n\n

如果有帮助的话,最终该解决方案将在 ruby​​ 脚本中使用。

\n\n
\n\n

* I\xe2\x80\x99m 没有将其发布到Ask Different,因为mdls这不是重点。它可以是任何其他缓慢的命令。

\n

osx directory ruby

5
推荐指数
1
解决办法
2653
查看次数

Vim:根据文件目录运行命令

在 my 中init.vim,我只想在当前文件位于某个层次结构下时才运行某些命令。伪代码:

\n
if current_file_directory == ~/some/path/here\n  autocmd <whatever>\n  set <whatever>\nendif\n
Run Code Online (Sandbox Code Playgroud)\n

if我发现的所有例子都太基础了,无法推断。

\n

澄清一下,既不:pwd也不getcwd()应用,因为它们返回调用 neovim 时所在的目录。我关心文件所在的目录。按照上面的代码,如果 I\xe2\x80\x99m 在下/tmp但编辑文件,则命令应触发~/some/path/here/more/deep/still.txt但如果 I\xe2\x80\x99m 在下但编辑文件,则不会触发。~/some/path/here/tmp/example.txt

\n

vim vimrc nvim

5
推荐指数
1
解决办法
915
查看次数

在 ZSH 中按空格拆分字符串

给这个file.txt

first line
second line
third line
Run Code Online (Sandbox Code Playgroud)

这适用于bash

while IFS=' ' read -a args; do
  echo "${args[0]}"
done < file.txt
Run Code Online (Sandbox Code Playgroud)

生产

first
second
third
Run Code Online (Sandbox Code Playgroud)

也就是说,我们能够逐行读取文件,并且在每一行上我们使用空格作为分隔符将行进一步拆分为一个数组。但是在 中zsh,结果是一个错误:read: bad option: -a

我们怎样才能做到与 inzsh一样bash呢?我已经尝试了几种解决方案,但我永远无法使用空格作为分隔符将字符串拆分为数组

bash zsh array read

3
推荐指数
1
解决办法
6445
查看次数

标签 统计

osx ×2

array ×1

bash ×1

directory ×1

history ×1

nvim ×1

read ×1

ruby ×1

unix-philosophy ×1

users ×1

vim ×1

vimrc ×1

zsh ×1