就我所知,几乎每个命令行实用程序都有一个指向其二进制文件的路径。
例如,DECLARE @date_from DATETIME='20150101';
DECLARE @date_to DATETIME='20151231';
DECLARE @eom DATETIME;
DECLARE @cmd NVARCHAR(MAX);
DECLARE @query NVARCHAR(4000);
WHILE @date_from<=@date_to
BEGIN
SET @eom=EOMONTH(@date_from);
SET @query=
N'SELECT * '+
N'FROM [DB_DATAWAREHOUSE].[dbo].[SALES_TBL] '+
N'WHERE Sales_date>='''+CONVERT(VARCHAR(8),@date_from,112)+''' AND Sales_date<='''+CONVERT(VARCHAR(8),@eom,112)+'''';
SET @cmd=
N'bcp ' +
N'"'+@query+'" ' +
N'QUERYOUT "\\Salesasv\Saldw$\Ounbound\'+LEFT(DATENAME(MONTH,@date_from),3)+DATENAME(YEAR,@date_from)+'Extract.csv" ' +
N'-c -t| -T -S';
EXEC master..xp_cmdshell @cmd;
--PRINT @cmd;
SET @date_from=DATEADD(MONTH,1,@date_from);
END
返回$ which which
,/usr/bin/which
返回$ which env
。
但/usr/bin/env
和$ which export
都不返回任何内容,并生成退出代码$ which unset
而不是1
。 0
和export
他们没有路径有什么不同?
答案 0 :(得分:2)
export
和unset
内置到shell(其他示例为cd
和alias
)。它们不是单独的二进制文件,不作为单独的实体存在。
man builtins
会为您提供更多信息。