我正在尝试使用一个名为ccnd
. 我想将其日志发送到文件。该工具的文档说:
要开始 ccnd 将输出发送到日志文件而不是终端,请将
CCND_LOG
环境变量设置为您要写入的文件的路径。任何具有该名称的现有文件都将被覆盖。
所以这就是我所做的:
$ CCND_LOG='./ccnd.log'
$ ccnd
但我仍然在终端中看到命令行工具的输出。如何使 CCND_LOG 在 ccnd 上生效?
我正在使用bash
,这似乎是我的 Mac OS X 终端的默认设置。
我正在尝试使用一个名为ccnd
. 我想将其日志发送到文件。该工具的文档说:
要开始 ccnd 将输出发送到日志文件而不是终端,请将
CCND_LOG
环境变量设置为您要写入的文件的路径。任何具有该名称的现有文件都将被覆盖。
所以这就是我所做的:
$ CCND_LOG='./ccnd.log'
$ ccnd
但我仍然在终端中看到命令行工具的输出。如何使 CCND_LOG 在 ccnd 上生效?
我正在使用bash
,这似乎是我的 Mac OS X 终端的默认设置。
任何一个:
$ CCND_LOG="./ccnd.log" ccnd
或者:
$ export CCND_LOG="./ccnd.log"
$ ccnd
第一个设置命令的环境;第二个设置环境,直到它被改变。所有的环境变量也是shell变量;并非所有 shell 变量都是环境变量。在导出之前,变量只是一个 shell 变量;一旦它被导出,它就会成为环境的一部分。
如果您使用的是 C shell 衍生工具(例如tcsh
),则必须使用该setenv
命令来创建环境变量;第一个变体不是 C shell 的选项。
% setenv CCND_LOG ./ccnd_log
% ccnd
如果您使用的是 bash,则前两个中的任何一个都应在命令期间设置环境。使用导出符号。然后运行env | grep CCND
以检查它是否已设置。
我看到CCNx 文档说:
所有 CCNx 程序都要求运行 ccnd:
bin/ccndstart
要开始 ccnd 将输出发送到日志文件而不是终端,请将
CCND_LOG
环境变量设置为您要写入的文件的路径。任何具有该名称的现有文件都将被覆盖。有关可用的其他环境变量(包括调试消息控件)的列表,请运行:
bin/ccnd -h
请注意,您通常不应该直接运行 ccnd,而是使用
ccndstart
脚本。
(强调补充。)
你是跑步ccnd
还是ccndstart
?