mkdir 中的详细选项是什么?

pra*_*nav 4 linux bash shell sh mkdir

我正在研究Shell (Bash) 脚本入门,并注意到联机帮助页mkdir描述了一个详细选项,该选项在创建目录时显示一条消息:

-v, --verbose
       print a message for each created directory
Run Code Online (Sandbox Code Playgroud)

它似乎mkdir -v打印了一条预定义的消息。有没有办法打印自定义消息?有没有办法永久设置自定义消息而不是默认消息?

Joh*_*024 5

的源代码来看mkdir.c,这是处理该选项的部分-v

    case 'v': /* --verbose  */
      options.created_directory_format = _("created directory %s");
      break;
Run Code Online (Sandbox Code Playgroud)

如您所见,所使用的字符串被硬编码到源中。要将消息永久更改为自定义消息,可以修改源代码的这一部分并重新编译mkdir

  • `_(...)` 意味着它不是严格硬编码的。相反,会对硬编码源字符串执行“gettext”查找,并且该查找的结果就是实际打印的结果。 (4认同)