linux - set $(wc -l $title_file) 在 shell 中是什么意思?

标签 linux shell

这些天。我正在学习 shell 脚本的乐趣。当我阅读手册的示例时,如:

set $(wc -l $title_file)
  num_titles=$1
  set $(wc -l $tracks_file)
  num_tracks=$1

我有一个简单的理解,即命令、设置、指定 $1 并将 $1 的值设置为 num_titles。 但是,我不知道为什么要使用 -l 作为命令 set 的选项。顺便说一下,有人能解释一下它的整个故事吗?thx

最佳答案

首先set设置一个环境变量。 根据其联机帮助页使用语法 set var = valueset var [n] = word 来查看联机帮助页类型 man set

在这种情况下,set 使用第二种语法生成 $1 = $(wc -1 $titlefile),然后根据使用的语法将 num_titles 设置为 $1 作为常规变量。

wc是wordcount命令,显示文件中的行数、字符数和单词数。

wc -l 告诉 wc 根据 wc 联机帮助页按行计数,查看联机帮助页类型 man wc

参见 Linux Shell Scripting Tutorial A Beginner's handbookAdvanced Bash-Scripting Guide以供进一步引用。

关于linux - set $(wc -l $title_file) 在 shell 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9613502/

相关文章:

linux - curl: (7) 无法连接到端口 80 和 443 - 在一个域上

linux - 命令历史和多个终端的使用

linux - Centos 7 : Auto restart application if it stopped

linux - 如何导出每天的磁盘空间使用情况?

macos - 如何在shell脚本中处理文件名中的冒号 ":"

linux - 如何指定用户可以使用 visudo 安装的 rpm 包?

linux - 嵌入式 linux 的设备树生成

linux - 将多个变量从本地 bash 传递到远程 bash 脚本而无需吞噬

shell - makefile中如何编写嵌套的if?

bash - 在 bash 部署中将初始用户插入到我的数据库中