Linux set$(wc-l$title_文件)在shell中是什么意思?

Linux set$(wc-l$title_文件)在shell中是什么意思?,linux,shell,Linux,Shell,这些天。我学习shell脚本是为了好玩。当我阅读手册中的示例时,如: set $(wc -l $title_file) num_titles=$1 set $(wc -l $tracks_file) num_tracks=$1 我有一个简单的理解,命令set指定$1,并将$1的值设置为num_标题。 但是,我不知道为什么使用-l作为命令set的选项。顺便问一下,有人能解释一下它的全部情况吗?thx这个-l开关正在计算指定文件中的行数 在您的情况下,它计算titles文件中的行数并将

这些天。我学习shell脚本是为了好玩。当我阅读手册中的示例时,如:

set $(wc -l $title_file)
  num_titles=$1
  set $(wc -l $tracks_file)
  num_tracks=$1
我有一个简单的理解,命令set指定$1,并将$1的值设置为num_标题。
但是,我不知道为什么使用-l作为命令set的选项。顺便问一下,有人能解释一下它的全部情况吗?thx

这个-l开关正在计算指定文件中的行数 在您的情况下,它计算titles文件中的行数并将其设置为num_titles变量(计算tracks_file变量指定的文件中的行数并将值设置为num_track变量)

你可以试试看 wc-l
在命令行上,要查看打印出的值,-l开关正在计算指定文件中的行数 在您的情况下,它计算titles文件中的行数并将其设置为num_titles变量(计算tracks_file变量指定的文件中的行数并将值设置为num_track变量)

你可以试试看 wc-l
在命令行上查看它打印出的值,首先
set
设置一个环境变量。 根据手册页使用语法
set var=value
set var[n]=word
,查看手册页类型
man set

在本例中,set使用第二种语法使
$1=$(wc-1$titlefile)
,然后将num_titles设置为$1作为常规变量,因为使用了语法

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

wc-l
告诉wc根据wc手册页按行计数,以查看手册页类型
man-wc


有关更多参考信息,请参阅和。

首先
set
设置环境变量。 根据手册页使用语法
set var=value
set var[n]=word
,查看手册页类型
man set

在本例中,set使用第二种语法使
$1=$(wc-1$titlefile)
,然后将num_titles设置为$1作为常规变量,因为使用了语法

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

wc-l
告诉wc根据wc手册页按行计数,以查看手册页类型
man-wc


有关更多参考,请参阅和。

我得到了它,thx。顺便说一句,在默认情况下,每当我使用命令set时,它都会将新值设置为第一个参数?是。因此,如果您确实设置了一个b c变量$1现在等于“a”,$2=b,并且$3=ci,thx。顺便说一下,在默认情况下,每当我使用命令set时,它都会将新值设置为第一个参数?是的。因此,如果您确实设置了一个b c变量$1现在等于“a”,$2=b,并且$3=ci,thx。顺便说一下,无论何时,在默认情况下,只要我使用命令set,它都会将新值设置为第一个参数?是的,根据set man page子句
这是正确的,其余参数都是位置参数,并按顺序分配给$1,$2在sh中,“set”不使用此处描述的语法。在csh中,这里使用的语法设置了一个变量,但不是一个环境变量。我得到了它,thx。顺便说一句,在默认情况下,每当我使用命令set时,它都会将新值设置为第一个参数?是的,根据set man page子句
这是正确的。其余参数是位置参数,按顺序分配给$1、$2, .... 在sh中,“set”不使用此处描述的语法。在csh中,这里使用的语法设置了一个变量,但没有设置环境变量。跳过set命令并简单地写:num_titles=$(wc-l$title_文件)会更常见。这个例子很奇怪。更常见的做法是跳过set命令,只写:num\u titles=$(wc-l$title\u文件)