小编Mr.*_*esh的帖子

硬链接算作普通文件吗?

我想知道是否有办法注册这个,但由于大多数现代搜索引擎不能很好地处理长度超过 5 个单词的短语,我需要一些帮助。

我想知道这一点,因为我正在制作一个 bash 脚本,它必须将文件注册为某些类型并做出相应的决定。这在技术上对我的项目并不重要,但我很好奇。

另外,如果它们被认为是常规文件,那么有没有办法检查这些文件是否硬链接而无需解析ls -i?有没有办法在不使用find -i命令的情况下检查某个任意文件 X 是否硬链接到某个其他任意文件 Y ?

bash hard-link shell-script files

21
推荐指数
1
解决办法
2221
查看次数

Flock 似乎不起作用

我最近一直在尝试为一个小项目创建一个 shell 脚本,但由于某种原因,该flock命令对我不起作用。每当我在子 shell 中以原子方式调用它并将其置于后台时,其他程序似乎能够读取/写入锁定的文件。

Bash 会话:

guest@guest ~ $ touch ./temp
guest@guest ~ $ ( flock -x 3 && sleep 99999999999; ) 3>./temp &
[1] 22874
guest@guest ~ $ cat ./temp 
guest@guest ~ $ echo this is a test >./temp 
guest@guest ~ $ cat ./temp 
this is a test
guest@guest ~ $ jobs
[1]+  Running                 ( flock -x 3 && sleep 99999999999 ) 3>./temp &
guest@guest ~ $ bash --version
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
Copyright (C) …
Run Code Online (Sandbox Code Playgroud)

file-descriptors subshell flock

8
推荐指数
1
解决办法
8332
查看次数

递归函数不起作用

我知道这是一个荒谬的想法,但我正在尝试编写一个脚本来运行文件系统上的每个目录。该文件的名称是“Everywhere.sh”。这是代码:

#!/bin/bash

recurse(){
    cd $1   
    for INDEX in $(echo *)
    do
        recurse $INDEX
    done
}

recurse /
Run Code Online (Sandbox Code Playgroud)

我该如何更改它(除了 su root -c "./Everywhere.sh")以使其正常工作?

编辑:我只需要修复这个;我不需要不同的执行方法。

shell bash recursive function

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