shell脚本中 LC_ALL=C 的含义

本文介绍了Linux环境下locale设置的重要性和具体作用。详细解释了LC_ALL、LC_CTYPE等环境变量的功能,并说明了它们如何影响程序的运行环境。此外,还提供了查看当前locale设置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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=
Cannot open Local Failed to start [/bin/bash, --rcfile, /opt/pycharm-community-2025.1/plugins/terminal/shell-integrations/bash/bash-integration.bash, -i] in /home/orangepi/PyCharmMiscProject, [columns=186, rows=15], envs={PATH=/home/orangepi/miniconda3/bin:/home/orangepi/miniconda3/condabin:/usr/local/bin:/usr/lib/jvm/java-17-openjdk-arm64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/orangepi/Downloads/pycharm-2023.3.7/bin:/opt/pycharm-community-2025.1/bin, UMS_FILE=/userdata/ums_shared.img, LC_MEASUREMENT=en_US.UTF-8, XAUTHORITY=/home/orangepi/.Xauthority, UMS_SIZE=256M, XMODIFIERS=@im=fcitx, LC_TELEPHONE=en_US.UTF-8, XDG_DATA_DIRS=/usr/share/xfce4:/usr/local/share/:/usr/share/:/usr/share, GDMSESSION=xfce, LC_TIME=en_US.UTF-8, CONDA_DEFAULT_ENV=base, GST_GL_PLATFORM=egl, PAPERSIZE=letter, LC_MESSAGES=en_US.UTF-8, GTK_IM_MODULE=fcitx, CONDA_PYTHON_EXE=/home/orangepi/miniconda3/bin/python, GST_VIDEO_CONVERT_PREFERRED_FORMAT=NV12:NV16:I420:YUY2, TERMINATOR_DBUS_PATH=/net/tenshu/Terminator2, DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus, __INTELLIJ_COMMAND_HISTFILE__=/home/orangepi/.cache/JetBrains/PyCharmCE2025.1/terminal/history/PyCharmMiscProject-history, CONDA_PREFIX=/home/orangepi/miniconda3, XDG_CURRENT_DESKTOP=XFCE, SSH_AGENT_PID=2049, COLORTERM=truecolor, GST_V4L2SRC_DEFAULT_DEVICE=/dev/video-camera0, LC_PAPER=en_US.UTF-8, SESSION_MANAGER=local/orangepi5plus:@/tmp/.ICE-unix/1708,unix/orangepi5plus:/tmp/.ICE-unix/1708, LOGNAME=orangepi, GST_V4L2_PREFERRED_FOURCC=NV12:YU12:NV16:YUY2, PWD=/home/orangepi, UMS_MOUNTPOINT=/mnt/ums, UMS_FSTYPE=vfat, GST_V4L2SRC_RK_DEVICES=_mainpath:_selfpath:_bypass:_scale, LANGUAGE=zh_CN:en_US:en, SHELL=/bin/bash, LESSOPEN=| /usr/bin/lesspipe %s, LC_ADDRESS=en_US.UTF-8, GST_V4L2_USE_LIBV4L2=1, OLDPWD=/opt/pycharm-community-2025.1/bin, GST_DEBUG_NO_COLOR=1, COGL_DRIVER=gles2, UMS_RO=0, GTK_MODULES=gail:atk-bridge, CLUTTER_IM_MODULE=xim, GST_GL_API=gles2, TERM_SESSION_ID=af3e088a-36b3-40f3-8dea-e5946e0065f9, LC_ALL=zh_CN.UTF-8, XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0, PANEL_GDK_CORE_DEVICE_EVENTS=0, CONDA_PROMPT_MODIFIER=(base) , LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:, XDG_SESSION_DESKTOP=xfce, SHLVL=1, LC_IDENTIFICATION=en_US.UTF-8, USB_FUNCS=adb, LESSCLOSE=/usr/bin/lesspipe %s %s, LC_MONETARY=en_US.UTF-8, QT_IM_MODULE=fcitx, CONDA_EXE=/home/orangepi/miniconda3/bin/conda, JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64, TERM=xterm-256color, XDG_CONFIG_DIRS=/etc/xdg/xdg-xfce:/etc/xdg:/etc/xdg, LANG=zh_CN.UTF-8, XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0, XDG_SESSION_ID=c1, XDG_SESSION_TYPE=x11, DISPLAY=:0.0, _CE_M=, GST_MPP_NO_RGA=1, LC_NAME=en_US.UTF-8, CONDA_SHLVL=1, XDG_SESSION_CLASS=user, _=/usr/bin/pycharm, UMS_MOUNT=0, GDM_LANG=zh_CN, GTK3_MODULES=xapp-gtk3-module, XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/orangepi, TERMINATOR_DBUS_NAME=net.tenshu.Terminator21a9d5db22c73a993ff0b42f64b396873, DESKTOP_SESSION=xfce, USER=orangepi, XDG_MENU_PREFIX=xfce-, VTE_VERSION=6800, QT_ACCESSIBILITY=1, TERMINAL_EMULATOR=JetBrains-JediTerm, LC_NUMERIC=en_US.UTF-8, TERMINATOR_UUID=urn:uuid:d9fd1dc7-2503-47c5-893e-2f4c797f3bc9, SSH_AUTH_SOCK=/tmp/ssh-XXXXXXbIiZZB/agent.2048, XDG_SEAT=seat0, _CE_CONDA=, GST_V4L2SRC_MAX_RESOLUTION=3840x2160, GST_INSPECT_NO_COLORS=1, XDG_VTNR=7, XDG_RUNTIME_DIR=/run/user/1000, HOME=/home/orangepi} See IDE log (Help | Show Log in File Manager) for the details.
最新发布
06-08
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值