conventions

点文件和相邻的不带点的同名文件?
conventions

点文件和相邻的不带点的同名文件?

拥有一个点文件和一个相邻的不带点的同名文件是一种不好的做法吗? 背景:我们已经创建了一个 $HOME/.ourapp 目录,在其中存储各种配置文件、日志文件等,但我们正在讨论将用户添加、创建和修改的文件放置在哪里,无论是从应用程序外部还是从应用程序外部在其中使用各种工具。将它们放在 $HOME/ourapp 中似乎是最自然的,但这可能是不好的做法或令人困惑。 ...

Admin

Linux so 约定:.so 链接是否来自开发包?
conventions

Linux so 约定:.so 链接是否来自开发包?

在我的 Ubuntu jammy Linux PC 上,安装 libuv1 软件包 ( apt-get install libuv1) 后,我注意到有一个名为 的文件libuv.so.1.0.0和一个名为 的符号链接libuv.so.1: $ find /usr -name "libuv.so*" 2>/dev/null /usr/lib/x86_64-linux-gnu/libuv.so.1.0.0 /usr/lib/x86_64-linux-gnu/libuv.so.1 $ ls -l /usr/lib/x86_64-linux-gnu/libuv...

Admin

将函数注释放在函数头之前时不会打印出来
conventions

将函数注释放在函数头之前时不会打印出来

注释 shell 函数的一个良好且完善的指南是将其放在函数头之前。我试图尽可能地遵循这些准则,但这种约定使得阅读函数的注释变得困难。例如,我无权访问我的函数的注释 ####################################### # init the current directory with the required files to work with latex in Vscode's extension LaTeX workshop # Arguments: # $1 -> Main .tex file. Optional. D...

Admin

PATH 变量值的约定
conventions

PATH 变量值的约定

我正在寻找PATH变量值的最佳实践,或者至少是约定。 我特别想知道 值中的 、 和 目录/bin是否/usr/bin有任何首选/推荐的排序?/usr/local/binPATH 在非 root 用户的变量中包含/sbin、/usr/sbin和/或是否有任何缺点?/usr/local/sbinPATH 关于(1),我不知情的意见是这些路径应该按顺序出现 ..:/usr/local/bin:...:/usr/bin:...:/bin:... ...在PATH变量中。这里的想法(如果有的话)是/usr/local/bin本地安装可能会放置一个命令的“本地”覆...

Admin

添加我自己的工具和配置的最佳实践
conventions

添加我自己的工具和配置的最佳实践

因此,我目前正在编写一些脚本来收集和批量报告服务器上的入侵尝试。脚本本身正在工作,但我想知道应该将配置文件和脚本本身放在哪里。 我想过制作一个安装程序来复制所需的二进制文件,/usr/local/bin但对于配置文件我不确定。 automysqlbackup例如,当我安装一些可以自动运行和整理 mysql 备份的程序时,我就遇到过这个问题。我是否使用/etc我选择的名称创建一个新目录,或者是/var/lib不是来自包的添加内容的位置?存储这些配置文件的常规位置是什么?我应该将 shell 脚本、二进制文件和配置文件放在一个完全不同的地方吗? ...

Admin

udev中的设备属性和设备属性有什么区别?
conventions

udev中的设备属性和设备属性有什么区别?

对于udev设备条目,“属性”和“属性”之间有什么技术区别?它们通常是如何创建(生成?)和使用的?哪一个是更好的事实来源? 我在 Raspberrypi Python 应用程序的上下文中询问,该应用程序应该检测任何热插拔的串行端口适配器并向用户显示“相关”设备信息(无论是什么),以使他们能够识别自己的设备。特别是,我使用图书馆pyudev​与 接口libudev,我的计划是从子系统中搜索tty由子系统设备提供的设备usb-serial。我查看了我周围的一些测试设备的属性和属性,看看它们提供了什么值以及在哪里提供。到目前为止,它们的共同点是有一个与适配器相关的...

Admin

通过传统颜色名称(例如红色、绿色、蓝色等)以颜色显示消息
conventions

通过传统颜色名称(例如红色、绿色、蓝色等)以颜色显示消息

使用 Ubuntu 18.04 和 GNU bash 的 WSL,版本 4.4.20(1)-release (x86_64-pc)。 我希望显示一条消息传统命名的颜色通过诸如-red、 或-green、 或-blue之类的参数或类似的东西(无需最终用户使用机器语法定义颜色)。 我认为即使是现代版本的printfor也echo无法做到这一点。 我更喜欢 shell 内置的并且不安装任何东西。 ...

Admin

我应该从哪里获取 /usr/local/etc/profile ? .bash_profile还是/etc/profile?
conventions

我应该从哪里获取 /usr/local/etc/profile ? .bash_profile还是/etc/profile?

我知道,默认情况下,bash 将 source/etc/profile和~/.bash_profile. 现在,假设我还有特定于机器的配置文件命令/usr/local/etc/profile(涉及 中的内容/usr/local,因此我不想用/etc它来玷污它)。 我的问题:谁负责采购/usr/local/etc/profile?它应该源自~/.bash_profile,或者可能是以下几行: if [ -f /usr/local/etc/profile ]; then . /usr/local/etc/profile fi 应该实际上在 之内/etc...

Admin

在引用 POSIX 工具时将手册页部分编号​​添加到它们是一个好习惯吗?
conventions

在引用 POSIX 工具时将手册页部分编号​​添加到它们是一个好习惯吗?

我有时会看到人们提到工具,例如ls在括号中附加手册页部分编号​​,就像手册页本身ls(1)在散文/文本中所做的那样(在 ls 的情况下),例如 stackexchange 上的答案和评论。这是好的做法吗?有关于这种做法的任何来源吗?有任何著名的“实体”,例如大公司、邮件列表等这样做吗? ...

Admin

设计 CLI 时是否有使用选项或子命令的偏好/经验法则?
conventions

设计 CLI 时是否有使用选项或子命令的偏好/经验法则?

例如,要安装一个软件包,pacman可以使用: pacman -S <package> While 有人使用时dnf会键入: dnf install <package> While pacmanusing 该-S选项,dnf使用子命令install。 其他一些示例包括nmcliand tar、 with nmcli connection up <connection>(使用子命令)和tar -xzvf <file>(使用选项)。 各有什么优缺点,还是只是个人喜好?...

Admin

如何选择合适的错误前缀?
conventions

如何选择合适的错误前缀?

在报告各种错误时,如何找出适当的错误前缀?是否有关于这些应该如何进行的指南或概述?我在许多命令中看到了模式,但发现很难知道我应该在自己的软件中采用哪些模式。 error:我所说的“错误前缀”是指、usage:、fatal:、等类型的前缀。warning:有时也有多个这样的前缀。 一些现实世界的例子是: $ ls non/existant/directory ls: cannot access 'non/existant/directory': No such file or directory $ git s...

Admin

使用别名是一个好习惯吗?
conventions

使用别名是一个好习惯吗?

我有一个同事喜欢使用别名而不是编写脚本,但我不想这样做。 首先,您需要在每台计算机上设置相同的别名。它们在不同的计算机上表现不同,这可能会让其他人感到困惑。除非你制作一个环境初始化脚本来初始化别名。 其次,你需要读取别名并知道他使用的是哪个脚本,然后你就可以知道别名是做什么的,但是如果你使用脚本命令,你可以直接知道你运行的是什么。 别名可以节省一些键盘输入时间,但我不太喜欢使用它们。使用它们是一个好的做法吗? ...

Admin

stdin、stdout 的命令行参数约定
conventions

stdin、stdout 的命令行参数约定

我正在编写一个命令行工具,它接受一个文件并修改其内容。我希望用户界面尽可能规范。到目前为止,我已经 $ foobar -h usage: foobar [-h] [--version] [infile] [outfile] Some help text. positional arguments: infile input LaTeX file (default: stdin) outfile output LaTeX file (default: stdout) optional arguments: -h,...

Admin