小编Jen*_*ens的帖子

BASH:如何在一个步骤中组合两个(或多个)变量字符串操作?

是否可以在 BASH (或任何其他标准 Linux 命令)中组合变量的两个或多个字符串操作功能?

\n

假设我有一个保存字符串变量。\n现在,我可以通过\xe2\x86\x92检索第二个子字符串。\n我还可以通过\xe2\x86\x92检索小写字符串。$XDG_CURRENT_DESKTOPubuntu:GNOME
${XDG_CURRENT_DESKTOP##*:}GNOME
${XDG_CURRENT_DESKTOP,,}ubuntu:gnome

\n

但是,如何在一个\xe2\x80\x93简单的\xe2\x80\x93 命令中组合这两个函数(\xe2\x86\x92 gnome),而不使用重定向到、或任何其他这些 \xe2\x80\x93相当重量级\xe2\x80\x93 命令并且没有额外的缓冲区存储步骤?例如:sedawkgrep

\n
local mybuffer="${XDG_CURRENT_DESKTOP##*:}"\necho "${mybuffer,,}"\n
Run Code Online (Sandbox Code Playgroud)\n

我想避免这样的“子脚本”或函数调用构造来实现这一点,我已经尝试了上述两者的任何组合,但这似乎是徒劳的。
\n还有其他办法吗?
\n或者我需要升级 bash 吗?(使用:GNU bash 4.3.11)
\n或者其他 shell 可以做到这一点吗?

\n

command-line bash scripts environment-variables

7
推荐指数
2
解决办法
1167
查看次数