24. Bash Shell - 文本处理:wc、sort

这篇博客介绍了如何使用Bash Shell中的wc和sort命令来统计文件的词量、字节数、行数,并对文件内容进行字母和数字的升序及降序排序。通过示例展示了不同参数的用法,包括对多个文件的操作。

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

开篇词

我们可以借助由 Linux 提供的用来统计词量、字节数以及对文字、数字进行排序的 wc 和 sort 命令。

我们继续沿用上一篇教程的 file.txt 文件来进行测试。
file.txt 文件内容
 

词量统计器

默认情况下 wc 命令输出文件内容的行数、词量以及字节数:

wc file.txt

输出 file.txt 文件内容的行数、词量以及字节数

字节数统计

我们可以加入 -c--bytes 参数来输出文件的字节数:

wc -c file.txt
wc --bytes file.txt

输出 file.txt 文件的字节数

字符数统计

我们可以加入 -m<

declare -x COLORTERM="truecolor" declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus,guid=9a8360f17b64c98b11051c9668722b77" declare -x DESKTOP_SESSION="ubuntu" declare -x DISPLAY=":0" declare -x GDMSESSION="ubuntu" declare -x GENICAM_GENTL64_PATH="/opt/spinnaker/lib/spinnaker-gentl" declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated" declare -x GNOME_SETUP_DISPLAY=":1" declare -x GNOME_SHELL_SESSION_MODE="ubuntu" declare -x GNOME_TERMINAL_SCREEN="/org/gnome/Terminal/screen/5713474e_93dc_49fc_a6c0_d28eb7b61f76" declare -x GNOME_TERMINAL_SERVICE=":1.127" declare -x GTK_MODULES="gail:atk-bridge" declare -x HOME="/home/s" declare -x IM_CONFIG_PHASE="1" declare -x JAVA_HOME="/USR/lib/jvm/java-11" declare -x LANG="en_US.UTF-8" declare -x LESSCLOSE="/usr/bin/lesspipe %s %s" declare -x LESSOPEN="| /usr/bin/lesspipe %s" declare -x LOGNAME="s" declare -x 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:" declare -x OLDPWD declare -x PATH="/usr/local/cuda-12.0/bin:/opt/spinnaker/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/custom/bin" declare -x PWD="/home/s" declare -x QT_ACCESSIBILITY="1" declare -x QT_IM_MODULE="ibus" declare -x SESSION_MANAGER="local/s-virtual-machine:@/tmp/.ICE-unix/1684,unix/s-virtual-machine:/tmp/.ICE-unix/1684" declare -x SHELL="/bin/bash" declare -x SHLVL="1" declare -x SPINNAKER_GENTL64_CTI="/opt/spinnaker/lib/spinnaker-gentl/Spinnaker_GenTL.cti" declare -x SSH_AGENT_LAUNCHER="gnome-keyring" declare -x SSH_AUTH_SOCK="/run/user/1000/keyring/ssh" declare -x SYSTEMD_EXEC_PID="1907" declare -x TERM="xterm-256color" declare -x USER="s" declare -x USERNAME="s" declare -x VTE_VERSION="6800" declare -x WAYLAND_DISPLAY="wayland-0" declare -x XAUTHORITY="/run/user/1000/.mutter-Xwaylandauth.ELTY92" declare -x XDG_CONFIG_DIRS="/etc/xdg/xdg-ubuntu:/etc/xdg" declare -x XDG_CURRENT_DESKTOP="ubuntu:GNOME" declare -x XDG_DATA_DIRS="/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop" declare -x XDG_MENU_PREFIX="gnome-" declare -x XDG_RUNTIME_DIR="/run/user/1000" declare -x XDG_SESSION_CLASS="user" declare -x XDG_SESSION_DESKTOP="ubuntu" declare -x XDG_SESSION_TYPE="wayland" declare -x XMODIFIERS="@im=ibus" declare -x COLORTERM="truecolor" declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus,guid=9a8360f17b64c98b11051c9668722b77" declare -x DESKTOP_SESSION="ubuntu" declare -x DISPLAY=":0" declare -x GDMSESSION="ubuntu" declare -x GENICAM_GENTL64_PATH="/opt/spinnaker/lib/spinnaker-gentl" declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated" declare -x GNOME_SETUP_DISPLAY=":1" declare -x GNOME_SHELL_SESSION_MODE="ubuntu" declare -x GNOME_TERMINAL_SCREEN="/org/gnome/Terminal/screen/5713474e_93dc_49fc_a6c0_d28eb7b61f76" declare -x GNOME_TERMINAL_SERVICE=":1.127" declare -x GTK_MODULES="gail:atk-bridge" declare -x HOME="/home/s" declare -x IM_CONFIG_PHASE="1" declare -x JAVA_HOME="/USR/lib/jvm/java-11" declare -x LANG="en_US.UTF-8" declare -x LESSCLOSE="/usr/bin/lesspipe %s %s" declare -x LESSOPEN="| /usr/bin/lesspipe %s" declare -x LOGNAME="s" declare -x 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:" declare -x OLDPWD declare -x PATH="/usr/local/cuda-12.0/bin:/opt/spinnaker/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/custom/bin" declare -x PWD="/home/s" declare -x QT_ACCESSIBILITY="1" declare -x QT_IM_MODULE="ibus" declare -x SESSION_MANAGER="local/s-virtual-machine:@/tmp/.ICE-unix/1684,unix/s-virtual-machine:/tmp/.ICE-unix/1684" declare -x SHELL="/bin/bash" declare -x SHLVL="1" declare -x SPINNAKER_GENTL64_CTI="/opt/spinnaker/lib/spinnaker-gentl/Spinnaker_GenTL.cti" declare -x SSH_AGENT_LAUNCHER="gnome-keyring" declare -x SSH_AUTH_SOCK="/run/user/1000/keyring/ssh" declare -x SYSTEMD_EXEC_PID="1907" declare -x TERM="xterm-256color" declare -x USER="s" declare -x USERNAME="s" declare -x VTE_VERSION="6800" declare -x WAYLAND_DISPLAY="wayland-0" declare -x XAUTHORITY="/run/user/1000/.mutter-Xwaylandauth.ELTY92" declare -x XDG_CONFIG_DIRS="/etc/xdg/xdg-ubuntu:/etc/xdg" declare -x XDG_CURRENT_DESKTOP="ubuntu:GNOME" declare -x XDG_DATA_DIRS="/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop" declare -x XDG_MENU_PREFIX="gnome-" declare -x XDG_RUNTIME_DIR="/run/user/1000" declare -x XDG_SESSION_CLASS="user" declare -x XDG_SESSION_DESKTOP="ubuntu" declare -x XDG_SESSION_TYPE="wayland" declare -x XMODIFIERS="@im=ibus" 依然报错
07-13
[root@localhost ~]# grep -E "PATH=|JAVA_HOME" /etc/environment /etc/profile /etc/profile.d/* /etc/bashrc /etc/profile: PATH=$PATH:$1 /etc/profile: PATH=$1:$PATH /etc/profile:export JAVA_HOME=/home/java/jdk-18.0.2.1+1 /etc/profile:export PATH=$JAVA_HOME/bin:$PATH /etc/profile.d/abrt-console-notification.sh:TMPPATH=`mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> "$ABRT_DEBUG_LOG"` /etc/bashrc: PATH=$PATH:$1 /etc/bashrc: PATH=$1:$PATH [root@localhost ~]# grep "PATH=.*PATH" /etc/profile /etc/profile.d/* /etc/profile: PATH=$PATH:$1 /etc/profile: PATH=$1:$PATH /etc/profile:export PATH=$JAVA_HOME/bin:$PATH /etc/profile.d/abrt-console-notification.sh:TMPPATH=`mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> "$ABRT_DEBUG_LOG"` [root@localhost ~]# grep -E "PATH=|JAVA_HOME" ~/.bashrc ~/.bash_profile ~/.profile ~/.bash_login /root/.bash_profile:PATH=$PATH:$HOME/bin grep: /root/.profile: 没有那个文件或目录 grep: /root/.bash_login: 没有那个文件或目录 [root@localhost ~]# sudo apt-get install bash-doc sudo: apt-get:找不到命令 [root@localhost ~]# grep -r "JAVA_HOME=" /etc/ ~/.[^.]* 2>/dev/null | sort -u /etc/java/java.conf:#JAVA_HOME=$JVM_ROOT/java /etc/java/java.conf:#JAVA_HOME=$JVM_ROOT/jre /etc/profile:export JAVA_HOME=/home/java/jdk-18.0.2.1+1 /etc/profile.save:export JAVA_HOME=/home/java /etc/profile.save:export JAVA_HOME=/home/java/jdk-17.0.16+8 /etc/rpm/macros.jpackage:%ant JAVA_HOME=%{java_home} ant /root/.bash_history:echo 'export JAVA_HOME=/home/java' >> /etc/profile /root/.bash_history:echo 'export JAVA_HOME=/home/java/jdk-17.0.16+8' >> /etc/profile /root/.bash_history:export JAVA_HOME=/home/java /root/.m2/apache-maven-3.9.11/bin/mvn: JAVA_HOME=`(cd "$JAVA_HOME"; pwd)` /root/.m2/apache-maven-3.9.11/bin/mvn: JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` /root/.m2/apache-maven-3.9.11/bin/mvn: JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 匹配到二进制文件 /etc/.profile.swp [root@localhost ~]# sudo tee /etc/profile.d/java.sh <<'EOF' > if [ -z "${JAVA_HOME}" ]; then > export JAVA_HOME=/opt/jdk-18 > case ":${PATH}:" in > *":${JAVA_HOME}/bin:"*) ;; > *) export PATH="${JAVA_HOME}/bin:${PATH}" ;; > esac > fi > EOF if [ -z "${JAVA_HOME}" ]; then export JAVA_HOME=/opt/jdk-18 case ":${PATH}:" in *":${JAVA_HOME}/bin:"*) ;; *) export PATH="${JAVA_HOME}/bin:${PATH}" ;; esac fi [root@localhost ~]# echo "JAVA_HOME: $JAVA_HOME" JAVA_HOME: /home/java/jdk-18.0.2.1+1 [root@localhost ~]# echo "Java路径: $(which java)" Java路径: /home/java/jdk-18.0.2.1+1/bin/java [root@localhost ~]# echo "${PATH//:/$'\n'}" | grep -i jdk /home/java/jdk-18.0.2.1+1/bin /home/java/jdk-17.0.16+8/bin /home/java/jdk-18.0.2.1+1 /home/java/jdk-18.0.2.1+1/bin [root@localhost ~]# ls -l /etc/profile.d/java.sh -rw-r--r-- 1 root root 174 7月 23 15:03 /etc/profile.d/java.sh [root@localhost ~]# chmod +x /etc/profile.d/java.sh [root@localhost ~]# source ~/.bashrc && source /etc/profile [root@localhost ~]# bash -x -l -c 'echo $PATH' + '[' -x /usr/bin/id ']' + '[' -z 0 ']' ++ /usr/bin/id -un + USER=root + LOGNAME=root + MAIL=/var/spool/mail/root + '[' 0 = 0 ']' + pathmunge /usr/sbin + case ":${PATH}:" in + pathmunge /usr/local/sbin + case ":${PATH}:" in ++ /usr/bin/hostname + HOSTNAME=localhost.localdomain + HISTSIZE=1000 + '[' ignoredups = ignorespace ']' + export HISTCONTROL=ignoredups + HISTCONTROL=ignoredups + export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL + '[' 0 -gt 199 ']' + umask 022 + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/256term.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/256term.sh ++ local256= ++ '[' -n '' ']' ++ '[' -n '' ']' ++ unset local256 + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/abrt-console-notification.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/abrt-console-notification.sh ++ tty -s ++ '[' -z '' ']' ++ return 0 + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/bash_completion.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/bash_completion.sh ++ '[' -z '4.2.46(2)-release' -o -z '' -o -n '' ']' ++ return + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/colorgrep.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/colorgrep.sh ++ /usr/libexec/grepconf.sh -c ++ alias 'grep=grep --color=auto' ++ alias 'egrep=egrep --color=auto' ++ alias 'fgrep=fgrep --color=auto' + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/colorls.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/colorls.sh ++ '[' '!' -t 0 ']' ++ '[' -z '' ']' ++ alias 'll=ls -l' ++ alias 'l.=ls -d .*' ++ INCLUDE= ++ COLORS= ++ for colors in '"$HOME/.dir_colors.$TERM"' '"$HOME/.dircolors.$TERM"' '"$HOME/.dir_colors"' '"$HOME/.dircolors"' ++ '[' -e /root/.dir_colors.xterm ']' ++ for colors in '"$HOME/.dir_colors.$TERM"' '"$HOME/.dircolors.$TERM"' '"$HOME/.dir_colors"' '"$HOME/.dircolors"' ++ '[' -e /root/.dircolors.xterm ']' ++ for colors in '"$HOME/.dir_colors.$TERM"' '"$HOME/.dircolors.$TERM"' '"$HOME/.dir_colors"' '"$HOME/.dircolors"' ++ '[' -e /root/.dir_colors ']' ++ for colors in '"$HOME/.dir_colors.$TERM"' '"$HOME/.dircolors.$TERM"' '"$HOME/.dir_colors"' '"$HOME/.dircolors"' ++ '[' -e /root/.dircolors ']' ++ '[' -z '' ']' ++ '[' -e /etc/DIR_COLORS.xterm ']' ++ '[' -z '' ']' ++ '[' -e /etc/DIR_COLORS.256color ']' +++ /usr/bin/tty -s +++ /usr/bin/tput colors ++ '[' x8 = x256 ']' ++ '[' -z '' ']' ++ '[' -e /etc/DIR_COLORS ']' ++ COLORS=/etc/DIR_COLORS ++ '[' -n /etc/DIR_COLORS ']' ++ '[' -e '' ']' +++ /usr/bin/dircolors --sh /etc/DIR_COLORS ++ eval '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=01;05;37;41: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:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=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:*.jpg=01;35:*.jpeg=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:*.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:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:'\''; export LS_COLORS' +++ 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=01;05;37;41: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:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=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:*.jpg=01;35:*.jpeg=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:*.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:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:' +++ export LS_COLORS ++ '[' -z '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=01;05;37;41: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:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=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:*.jpg=01;35:*.jpeg=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:*.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:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:' ']' ++ /usr/bin/grep -qi '^COLOR.*none' /etc/DIR_COLORS ++ unset TMP COLORS INCLUDE ++ alias 'll=ls -l --color=auto' ++ alias 'l.=ls -d .* --color=auto' ++ alias 'ls=ls --color=auto' + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/java.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/java.sh ++ '[' -z /home/java/jdk-18.0.2.1+1 ']' + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/lang.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/lang.sh ++ sourced=0 ++ '[' -n zh_CN.UTF-8 ']' ++ saved_lang=zh_CN.UTF-8 ++ '[' -f /root/.i18n ']' ++ LANG=zh_CN.UTF-8 ++ unset saved_lang ++ '[' 0 = 1 ']' ++ unset sourced ++ unset langfile + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/less.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/less.sh ++ '[' -x /usr/bin/lesspipe.sh ']' ++ export 'LESSOPEN=||/usr/bin/lesspipe.sh %s' ++ LESSOPEN='||/usr/bin/lesspipe.sh %s' + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/vim.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/vim.sh ++ '[' -n '4.2.46(2)-release' -o -n '' -o -n '' ']' ++ '[' -x /usr/bin/id ']' +++ /usr/bin/id -u ++ ID=0 ++ '[' -n 0 -a 0 -le 200 ']' ++ return + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/which2.sh ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/which2.sh ++ alias 'which=alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' + for i in '/etc/profile.d/*.sh' /etc/profile.d/sh.local + '[' -r /etc/profile.d/sh.local ']' + '[' hxBc '!=' hxBc ']' + . /etc/profile.d/sh.local + unset i + unset -f pathmunge + export JAVA_HOME=/home/java/jdk-18.0.2.1+1 + JAVA_HOME=/home/java/jdk-18.0.2.1+1 + export PATH=/home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/bin:/home/java/jdk-17.0.16+8/bin:/home/java/jdk-18.0.2.1+1:/home/java/jdk-18.0.2.1+1/bin:/home/maven/apache-maven-3.9.11/bin:/root/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin::/root/bin + PATH=/home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/bin:/home/java/jdk-17.0.16+8/bin:/home/java/jdk-18.0.2.1+1:/home/java/jdk-18.0.2.1+1/bin:/home/maven/apache-maven-3.9.11/bin:/root/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin::/root/bin + '[' -f /root/.bashrc ']' + . /root/.bashrc ++ alias 'rm=rm -i' ++ alias 'cp=cp -i' ++ alias 'mv=mv -i' ++ '[' -f /etc/bashrc ']' ++ . /etc/bashrc +++ '[' '' ']' +++ shopt -q login_shell + PATH=/home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/bin:/home/java/jdk-17.0.16+8/bin:/home/java/jdk-18.0.2.1+1:/home/java/jdk-18.0.2.1+1/bin:/home/maven/apache-maven-3.9.11/bin:/root/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin::/root/bin:/root/bin + export PATH + echo /home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/bin:/home/java/jdk-17.0.16+8/bin:/home/java/jdk-18.0.2.1+1:/home/java/jdk-18.0.2.1+1/bin:/home/maven/apache-maven-3.9.11/bin:/root/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin::/root/bin:/root/bin /home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/jdk-18.0.2.1+1/bin:/home/java/bin:/home/java/jdk-17.0.16+8/bin:/home/java/jdk-18.0.2.1+1:/home/java/jdk-18.0.2.1+1/bin:/home/maven/apache-maven-3.9.11/bin:/root/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin::/root/bin:/root/bin [root@localhost ~]# [root@localhost ~]# export PATH=$(echo "$PATH" | awk -v RS=: '!a[$0]++' | paste -sd:) [root@localhost ~]# java -version -bash: /home/java/jdk-18.0.2.1+1/bin/java: 无法执行二进制文件 [root@localhost ~]# echo "${PATH//:/$'\n'}" | grep -i jdk /home/java/jdk-18.0.2.1+1/bin /home/java/jdk-17.0.16+8/bin /home/java/jdk-18.0.2.1+1 确实是少了一次加载但还是存在冗余,这应该怎么解决
最新发布
07-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Snow Hide(雪诺海德)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值