什么是 =C 在 bash 中?

  • 本文关键字:bash bash
  • 更新时间 :
  • 英文 :


我在某处的脚本中阅读:

a_var=C ls

我试过了。这将ls执行(我看到当前目录的内容)并将a_var留空。这是什么=Cbash ?这是我第一次看到它。

这会将环境变量a_var设置为在运行ls的环境中"C"。这很可能用于实际设置排序规则ls用于影响排序(LANG=C lsLC_COLLATE=C ls)。

使用 C 作为ls的排序规则将按区分大小写对文件进行排序,这意味着以 a-z 开头的文件在 A-Z 之后。SOme其他排序规则可能有其他规则,例如忽略点或将变音符号视为元音 -C没有这样的东西。

var_a=C ls是一个 bash 命令。

任何 Bash 命令都可以在执行环境的命令本地设置环境变量,这些环境变量(在您的情况下var_a)在执行后将不存在。例如,这通常用于运行make以指定选项,例如与默认值不同的编译器,或者如下所示curl

$ CC=~/bin/my_own_cc make
$ http_proxy=http://proxy_server:8080 curl http://www.google.com

当像这样运行时,make将用户~/bin/my_own_cc而不是默认的 C 编译器,并且curl将知道在检索http://google.com时使用代理。

这些命令不会用其他不必要的变量污染执行环境。

也就是说,在您的示例中,这没有任何副作用。

相关内容

  • 没有找到相关文章

最新更新