小编Jor*_*ran的帖子

使用以句点结尾的文件名

为什么 Unix 允许名称末尾带有句点的文件?这有什么用吗?

例如:

filename.

我问是因为我有一个简单的函数来回显文件的扩展名。

ext() {
  echo ${1##*.}
}
Run Code Online (Sandbox Code Playgroud)

但是知道如果文件名以 a 结尾它不会打印任何内容.,我想知道这样写是否更可靠:

ext() {
  extension=${1##*.}
  if [ -z "$extension" ]; then
    echo "$1"
  else
    echo "$extension"
  fi
}
Run Code Online (Sandbox Code Playgroud)

显然,这取决于您要完成的任务,但是如果.不允许文件名末尾的a ,我一开始就不会想知道任何事情。

filenames

7
推荐指数
2
解决办法
4051
查看次数

为什么一些实用程序在选项之前解析操作数?

根据几个 来源,UNIX 实用程序指南指定操作数应始终在选项之后处理:

utility_name[OPTIONS][operands...]
Run Code Online (Sandbox Code Playgroud)

众所周知,一些较旧的 UNIX 实用程序并不完全遵循这些约定,例如 ,find但较新的和完善的实用程序也违反了规则而没有明显的解释,例如curl <url>

我想知道这是否有充分的理由以及社区对此的普遍共识是什么。

options conventions utilities getopts

5
推荐指数
0
解决办法
374
查看次数

标签 统计

conventions ×1

filenames ×1

getopts ×1

options ×1

utilities ×1