Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 什么是@&引用;在命令行是什么意思?_Unix_Command Line_Cat - Fatal编程技术网

Unix 什么是@&引用;在命令行是什么意思?

Unix 什么是@&引用;在命令行是什么意思?,unix,command-line,cat,Unix,Command Line,Cat,将“@”放在某物之前(例如包含Java运行命令的类路径项的文件路径)有什么效果 我知道这和文件内容有关,但你可以想象,在谷歌上搜索有点困难。我也找不到讨论它的手册页。Unix命令行中的@字符没有一般意义。它被一些流行的实用程序使用。在Makefile中以@开头的命令告诉make在执行前不要回显该行。GNU Autoconf将用

将“@”放在某物之前(例如包含Java运行命令的类路径项的文件路径)有什么效果


我知道这和文件内容有关,但你可以想象,在谷歌上搜索有点困难。我也找不到讨论它的手册页。

Unix命令行中的
@
字符没有一般意义。它被一些流行的实用程序使用。在
Makefile
中以
@
开头的命令告诉
make
在执行前不要回显该行。GNU Autoconf将用
发现的替换替换替换
@
-封闭变量,如
@srcdir@
字符在Unix命令行上没有一般意义。它被一些流行的实用程序使用。在
Makefile
中以
@
开头的命令告诉
make
在执行前不要回显该行。GNU Autoconf将用
配置发现的替换替换

替换
@
-封闭变量,如
@srcdir@
,它在不同的程序中可能意味着不同的事情。按照惯例,命令行中的@file可以解释为:

从文件中读取命令行选项。读取的选项将插入到中 原始@file选项的位置。如果文件不存在,或无法 被读取后,该选项将被逐字处理,而不是删除。 文件中的选项用空格分隔。空白字符 可以通过在中包围整个选项而包含在选项中 单引号或双引号。任何字符(包括反斜杠) 可以通过在要包含在 反斜杠。文件本身可能包含其他@file选项;任何 这些选项将被递归处理。


它在不同的程序中可能意味着不同的事情。按照惯例,命令行中的@file可以解释为:

从文件中读取命令行选项。读取的选项将插入到中 原始@file选项的位置。如果文件不存在,或无法 被读取后,该选项将被逐字处理,而不是删除。 文件中的选项用空格分隔。空白字符 可以通过在中包围整个选项而包含在选项中 单引号或双引号。任何字符(包括反斜杠) 可以通过在要包含在 反斜杠。文件本身可能包含其他@file选项;任何 这些选项将被递归处理。

发件人:

shell专门处理几个参数。这些参数可能 仅供参考;不允许分配给他们

(……)

@

展开到位置参数,从一开始。当 展开发生在双引号内,每个参数展开为 单独的词。也就是说,“$@”相当于“$1”$2”…。如果 双引号展开发生在一个单词中,即 第一个参数与原始参数的开始部分连接 word,最后一个参数的展开式与最后一个参数联接 原词的一部分。如果没有位置参数, “$@”和“$@展开为零(即,它们被删除)

(……)

您可以对任何程序使用@(at sign)in参数,而无需转义

如果必须在参数中传递类似于此的内容,则只需转义
$
(美元符号)。

来自:

shell专门处理几个参数。这些参数可能 仅供参考;不允许分配给他们

(……)

@

展开到位置参数,从一开始。当 展开发生在双引号内,每个参数展开为 单独的词。也就是说,“$@”相当于“$1”$2”…。如果 双引号展开发生在一个单词中,即 第一个参数与原始参数的开始部分连接 word,最后一个参数的展开式与最后一个参数联接 原词的一部分。如果没有位置参数, “$@”和“$@展开为零(即,它们被删除)

(……)

您可以对任何程序使用@(at sign)in参数,而无需转义


如果必须在参数中传递类似于
$@
的内容,则只需转义
$
(美元符号)。

我认为它的意思是“读取由此名称指定的文件(命名文件中的每一行代表一个条目)”,而不是“这是条目”。标记表明您在谈论unix shell,文本表明是java。请澄清。请提供一个例子,即使它很杂乱。@Marian看起来他想从命令行运行java程序,并且他在该java程序的参数中有“@”字符。我绝对不认为它是java特定的,这是我所知道的最容易解释的例子。由于我不了解它的功能,我很难将它简化为一个简单的示例(并混淆任何公司机密信息)。另外,我目前没有可用的示例命令,它只是来自内存。我实际上是想看看是否可以使用“@”符号来执行不同的任务。正如@JonathanLeffler正确指出的那样,“……每一行……代表一个条目”,您可以在文件中收集Java命令行参数,并在启动Java应用程序时添加它们,例如。,java@path_to_arguments/args.txt my.app.main我想它的意思是“读取由该名称指定的文件(命名文件中的每一行代表一个条目)”,而不是“这是条目”。标记表明您在谈论unix shell,文本表明是java。请澄清。请提供一个例子,即使它杂乱无章。@Marian看起来他想跑步