2010-11-04 75 views
0

我试图捕捉简单命令的返回值:如何在unix shell命令中捕获返回值(无错误代码)?

即:

PWD

我在哪里可以找到没有标准输出到文件相关的返回值?

感谢koby

+0

您需要指定使用的shell。 – 2010-11-04 13:02:11

+0

例如:awk'NR == 7'Single.log将在Single.log中返回第7行 – Koby 2010-11-04 13:20:55

+0

我在哪里可以找到结果? – Koby 2010-11-04 13:22:21

回答

2

您可以用`pwd`

例如:

$ setenv MY_PWD `pwd` 
$ echo $MY_PWD 
/my/current/path 
+0

当输入行:MY_PWD = $(pwd)时,它会显示“MY_PWD =:找不到命令”。 – Koby 2010-11-04 12:58:28

+0

您必须确保在=号之前没有空格:'MY_PWD = $(pwd)' – 2010-11-04 13:00:27

+0

我试过没有空格的相同错误 – Koby 2010-11-04 13:02:34

0
echo $? 

是你在找什么?

+0

否它返回0,我想要相关数据 – Koby 2010-11-04 12:53:34

1

你可以试试`pwd`

[email protected]:~$ echo `pwd` 
/home/ole 
[email protected]:~$ 
+0

如何打印这些...反衬? :) – 2010-11-04 12:56:32

+2

你的意思是我是如何让Stack-O打印它们而不将它们转换为“codeblock”的?用反斜杠转义它:-) – 2010-11-04 12:58:40

+0

未知用户:$。 – Koby 2010-11-04 13:04:37

1

人们应该问的第一个问题是......你在使用什么外壳?

$ MY_PWD=$(pwd)将工作在sh-like。

我认为`pwd`会调用一个子shell,但是根据shell的不同,将输出值设置为变量的语法将取决于您的shell。

+0

我正在使用/ bin/tcsh – Koby 2010-11-04 13:56:43

+0

然后你应该可以写下“set variablename = \'pwd \'; echo $ variablename” – Danosaure 2010-11-06 03:22:25