shell脚本中 LC_ALL=C 的含义

2023-05-16

在shell脚本中常见到如下语句:
export LC_ALL=C
这一句的作用是为了去除所有本地化的设置,让命令能正确执行。

Linux的运行环境

在Linux中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。

locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置:

  1. LC_COLLATE
    定义该环境的排序和比较规则
  2. LC_CTYPE
    用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。
  3. LC_MONETARY
    货币格式
  4. LC_NUMERIC
    非货币的数字显示格式
  5. LC_TIME
    时间和日期格式
  6. LC_MESSAGES
    提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE=“zh_CN.GB18030:zh_CN.GB2312:zh_CN”。
  7. LANG
    LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。
  8. LC_ALL
    它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。
    C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。

查看本地默认设置

在shell控制台中输入locale就可以查看本地默认设置, 例如:

dl@DL:~$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:en
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell脚本中 LC_ALL=C 的含义 的相关文章

  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 使用 Jenkins 运行 ios-sim

    我正在尝试使用以下命令从命令行启动我的应用程序ios sim https github com downloads pegli ios sim ios sim xcode4 3 tar gz但这就是我得到的 Started by user
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • 如何在fish shell脚本中获取程序名称?

    在 bash 中 与在 ruby 中一样 程序名称由 0 给出 鱼里有什么 如果有必要 我可以执行以下操作 set PROGRAM ps no header o args p self egrep o S 2 但我确信程序名称必须已经在某个
  • 如何复制每个扩展名为 X 的文件,同时保留原始文件夹结构? (类Unix系统)

    我正在尝试将每个 HTML 文件从 src 文件夹复制到 dist 文件夹 但是 我想保留原始文件夹结构 如果 dist 文件夹不存在 我想创建一个新文件夹 如果文件夹不存在则创建 d dist mkdir dist 复制每个文件 cp R
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • 在powershell中检查文件是否可读且正常

    我是 powershell 新手 我想检查文件是否可读且正常 在 unix 中 我们可以使用 f 和 r 在一行中完成此操作 例如 以下 shell 脚本函数接受文件名作为参数并检查文件的可读性和规律性 与此等效的 powershell 是
  • 如何将 bash 脚本的整个输出保存到文件

    我正在尝试将 bash 脚本的整个输出保存到文件中 我目前在代码开头有一个参数 ip 地址 如下所示 bin bash USAGE Usage 0
  • Bash 脚本大小限制?

    我有一个 bash 脚本 在 RHEL 或 OS X 上运行时出现以下错误 第 62484 行 意外标记 换行符 附近出现语法错误 第 62484 行 o gz 这是一个自动生成的脚本 用于解决我公司使用的 Grid Engine 计算集群
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 如何使用我在 github 中发布的 bash 脚本执行 chsh?

    我有一个要点 我总是用它来在新服务器上安装我需要的软件包 http gist github com 4372049 http gist github com 4372049 我需要做的就是通过 ssh 在新服务器中输入以下内容 bash c
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 有一种简单的方法可以忽略时间戳来区分日志文件吗?

    我需要比较两个日志文件 但忽略每行的时间戳部分 确切地说是前 12 个字符 有没有一个好的工具 或者一个聪明的 awk 命令 可以帮助我 根据您使用的 shell 您可以改变方法 Blair https stackoverflow com
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 在 bash 中使用单个命令为 shell 变量分配默认值

    我对 bash 3 00 shell 脚本中的变量进行了大量测试 如果未设置变量 则它会分配默认值 例如 if z VARIABLE then FOO default else FOO VARIABLE fi 我似乎记得有一些语法可以在一行
  • 如何在递归调用函数时阻止 bash 创建子 shell

    这是一个计算阶乘的简单 shell 函数 bin bash function factorial if 1 lt 2 then echo 1 else echo 1 factorial 1 1 fi factorial 1 但我发现这个脚本
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • 分叉/多线程进程|重击

    我想让我的代码的一部分更加高效 我正在考虑让它分叉成多个进程 并让它们一次执行 50 100 次 而不是只执行一次 例如 伪 for line in file do foo foo2 foo3 done 我希望这个 for 循环运行多次 我

随机推荐

  • keras上手系列之:序列到序列预测问题

    LSTM序列到序列模型种类 LSTM 序列到序列 seq to seq 问题建模 根据问题和数据本身的特点 可以分为几种不同 一对一 one to one 多对一 many to one 一对多 one to many 多对多 many t
  • keras上手之:与tensorflow混合编程

    tensorflow具备许多优秀的函数和功能 xff0c 比如tensorboard xff0c keras作为tensorflow的高级API xff0c 封装很多tensorflow的代码 xff0c 使得代码模块化 xff0c 非常方
  • 贝叶斯网络和概率推理(一):理性决策与朴素贝叶斯

    在实际问题中 xff0c 理性决策 xff08 rational decision xff09 就意味着必须对结果出现的相关因素及其重要性 xff0c 以及目标实现的可能性进行合理评估 由于未知和惰性 xff0c 让我们对问题中的每个 因果
  • DTI数据处理: from scanner to statistics

    安装准备 工具 FSL MRIcron 准备工作 MRIcron安装 MRIcron的下载地址 http www mccauslandcenter sc edu mricro mricron dcm2nii html FSL安装 FSL是一
  • 核磁数处理和数据分析的资源汇总-不断更新

    在线电子书 xff1a http www magnetic resonance org 几个专业名词 axial diffusivity AD fractional anisotropy FA mean diffusion MD radia
  • 如何将Python算法模型注册成Spark UDF函数实现全景模型部署

    本文作者来自Byzer社区 amp Kyligence 机器学习平台工程师 Andie Huang 背景 Background 对于算法业务团队来说 xff0c 将训练好的模型部署成服务的业务场景是非常常见的 通常会应用于三个场景 xff1
  • linux系统下c/cpp编译链接时系统的默认搜索路径

    C C 43 43 程序在linux下被编译和连接时 xff0c GCC G 43 43 会查找系统默认的include和link的路径 xff0c 以及自己在编译命令中指定的路径 自己指定的路径就不说了 xff0c 这里说明一下系统自动搜
  • 核磁数据处理: FSL系列之segmentation工具FAST

    fsl的segmentation工具 FAST FMRIB s Automated Segmentation Tool 将大脑组织的3D影响分解为不同的组织 比如灰质 白质 脑脊液等等 同时还可以进行spatial intensity va
  • 核磁数据处理: FSL系列之bet命令

    bet命令用于脑组织的提取 有GUI和命令行两种调用方式 下图是bet的GUI界面 在shell中输入命令Bet就可以启动bet的GUI界面了 界面非常简单 只需要制定输入图像 设置图像密度阈值f 选择bet命令执行的方式 Run stan
  • MRI数据处理: FSL线性配准flirt命令

    flirt 是FSL的线性修正工具 官方提供了非常丰富的调用方式 命令Flirt可以启动FLIRT的GUI 43 InvertXFM ApplyXFM ConcatXFM命令flirt 是命令行工具misc flirt utilities
  • Linux中的管道和IO重定向

    Linux中的管道和IO重定向 管道技术是什么 管道是linux中进程之间的通信技术 核心思想是先进先出 FRIST IN FIRST OUT FIFO 管道的英文是pipeline 这个词很生动地描述了数据和信息在进程之间的流动就像在水管
  • 数据分析之: 基本文件操作

    查看数据和文件基本操作 拿到数据后 我们都会马上打开看看 最直接的动作就是鼠标点开 看看都有哪些文件夹 里面都有哪些数据 如果数据比较少 这样简单粗暴的查看方式在时间上还是可以接受的 但是如果数据文件很多 特别是文件夹嵌套了很多层 那这样的
  • 核磁数据处理之: FSL数据快视

    数据质量检查的时候 惯用的做法是用fsleyes逐个打开检查 当数据量变大的时候 这个做法非常消耗时间和精力 考虑到NifTI数据本质上就是好多成像切片三维重建的 如果可以将其中一些切片拿出来在html中批量显示 一个NifTI文件对应一排
  • 用shell脚本生成data pipeline的日志

    用shell脚本生成data pipeline的日志 在数据处理的data pipeline通常主要的数据处理工作都是用shell脚本批量完成 特别有必要生成各被试数据处理日志文件以便pipeline的调试 优化 数据处理的追踪 Pytho
  • linux中的sed 命令-替换

    sed源自stream editor 意为流编辑器 是linux的三大文本编辑工具之一 seg grep awk sed是一种在线编辑器 它一次只处理一行内容 xff0c 并将结果发送到屏幕 具体过程如下 xff1a 1 首先sed把当前正
  • shell脚本:函数及传参

    函数的定义 shell脚本的函数位置相对自由 既可以一个shell脚本单独成一个函数 也可以在主代码中嵌入内置函数 在Shell中可以通过下面的两种语法来定义函数 xff0c 分别如下 xff1a function name stateme
  • 创新者的孤独

    我在刚入行的时候 xff0c 经常看 JavaEye 现在的 Iteye 论坛 xff0c 那个时候有个猛人开发了一个web框架 Douyu 在论坛里一炮走红 他通过改写 Java 编译器来实现很多原先实现不了的动态能力并且抛弃了 Java
  • shell脚本选项设置及解析

    shell脚本的选项 比较复杂的shell脚本通常都会支持多个选项及其输入 通常形式为 a z A Z filename settings 在控制台输入脚本名称时 还会显示出帮助信息 显示帮助 可以定义一个Usage 函数作为脚本的帮助函数
  • 磁共振影像分析之: 基于FSL的VBM分析(2)

    统计分析 生成好study specific模板 下来要做统计分析组间差异了 如果用fsl提供的vbm方案 这一步对应的就是fslvbm 3 proc这个命令了 fslvbm 3 proc 这一步和实验设计和研究问题本身很有关系 这里讲讲f
  • shell脚本中 LC_ALL=C 的含义

    在shell脚本中常见到如下语句 export LC ALL 61 C 这一句的作用是为了去除所有本地化的设置 xff0c 让命令能正确执行 Linux的运行环境 在Linux中通过locale来设置程序运行的不同语言环境 xff0c lo