linux - 没有变量的 Bash 字符串操作

标签 linux bash shell

在 Bash 中,可以对变量进行字符串操作,例如获取 Linux 机器上的当前运行级别:

current_runlevel=$(runlevel) #sample output: 'N 2'
current_runlevel=${current_runlevel#* }
echo $current_runlevel #sample output: '2'

但是,是否可以将两条线结合起来,这样就不需要中间变量了?使用相同的示例,我希望它看起来像:

current_runlevel=${$(runlevel)#* }

这个不行,报错

${$(runlevel)#* }: bad substitution

关于如何在 Bash 字符串操作表达式中使用文字字符串有什么想法吗?

最佳答案

嗯,不是真的。您可以使用 sed 或类似的东西,例如:

current_runlevel=$( runlevel | cut -d' ' -f2 )

不过使用中间变量会快一点。

关于linux - 没有变量的 Bash 字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17364982/

相关文章:

c++ - 加载共享库时出错 : libboost_program_options. so.1.65.1

linux - 在 Bash 中模拟一个微调器以取得进步

linux - 从文件中读取值并将它们与另一个值进行比较的 Shell 脚本

linux - 用于多线程文件处理的 Shell 脚本

linux - 将所有输出重定向到一个文件

macos - 如何使用变量获取 'quoted form of'?

linux - 使用 'ls -F'时不同指标的含义

linux - 使用 unix 解压缩但仅提取某些字段

c++ - 如何获取文件名命令行参数的完整路径?

linux - Bash 脚本搜索和替换