小编iFr*_*cht的帖子

我刚刚删除了主目录中的所有内容。如何?为什么有些文件仍然存在?

从未想过这会发生在我身上,但你去了。 ¯\_(?)_/¯

我从错误目录中的存储库中运行了一个构建脚本,而没有先查看源代码。这是脚本Scripts/BuildLocalWheelLinux.sh

cd ../Dependencies/cpython
mkdir debug
cd debug
../configure --with-pydebug --enable-shared
make
cd ../../..

cd ..
mkdir -p cmake-build-local
cd cmake-build-local
rm -rf *
cmake .. -DMVDIST_ONLY=True -DMVPY_VERSION=0 -DMVDPG_VERSION=local_build
make -j
cd ..

cd Distribution
python3 BuildPythonWheel.py ../cmake-build-local/[redacted]/core.so 0
python3 -m ensurepip
python3 -m pip install --upgrade pip
[more pip install stuff]
python3 -m setup bdist_wheel --plat-name manylinux1_x86_64 --dist-dir ../dist
cd ..
cd Scripts
Run Code Online (Sandbox Code Playgroud)

危险的部分似乎是

mkdir -p cmake-build-local
cd cmake-build-local
rm -rf *
Run Code Online (Sandbox Code Playgroud)

不过仔细一想,好像也不会出错。

您应该运行此脚本的方式是cd Scripts; …

bash zsh shell-script rm deleted-files

32
推荐指数
3
解决办法
3967
查看次数

cp 在 . (dot) 或 .. (dot dot) 是源目录

这个答案表明可以将所有文件(包括隐藏文件)从目录复制src到目录中,dest如下所示:

mkdir dest
cp -r src/. dest
Run Code Online (Sandbox Code Playgroud)

答案或其评论中没有解释为什么这实际上有效,似乎也没有人找到有关此的文档。

我尝试了一些东西。一、正常情况:

$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src dest
$ ls -A dest
dest_file  src
Run Code Online (Sandbox Code Playgroud)

然后,/.最后:

$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src/. dest
$ ls -A dest
dest_file  .dotfile  src_dir  src_file
Run Code Online (Sandbox Code Playgroud)

因此,这与 的行为类似*,但也会复制隐藏文件。

$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src/* dest …
Run Code Online (Sandbox Code Playgroud)

documentation hard-link cp recursive dot-files

23
推荐指数
1
解决办法
6191
查看次数

我应该在命令行工具上使用互斥选项吗?

编写 CLI 工具,我面临一个难题。

该工具应该检测图像中的人脸并自动模糊它们。但是,有时只应执行其中一项操作即可使用外部工具手动标记其他面。所以我想支持三种行为:

  1. 一次检测人脸并对其进行模糊处理
  2. 只检测人脸
  3. 只模糊人脸

我解决这个问题的想法是两个相互排斥的选项,比如--only-detect--only-blur

但是,一位同事建议使用--detectand可能更有意义--blur,因此使用这两个选项会导致与使用 none 相同的行为,但我发现这不太直观。

我现在的问题是:我可以遵循任何惯例来做出这个决定吗?我找到了POSIX Utility Conventions,他们确实提到了互斥组,但这里没有任何帮助。

command-line options utilities

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