如何使setenv成为perl脚本的输出

如何使setenv成为perl脚本的输出,perl,unix,setenv,aliases,Perl,Unix,Setenv,Aliases,我编写了一个perl脚本,它将路径打印到一个非常特定的文件。我想定义一个个人环境变量(通过在.alias文件中使用setenv)来提供此脚本的输出 例如,假设文件“myscript.pl”打印路径“/home/files/reports/file”。让我们调用变量(我想在.alias文件中定义)myoutput。我希望当我在Unix中键入“most$myoutput”时,most将打开此文件,当我键入“echo$myoutput”时,Unix将打印路径 如何定义由脚本确定值的个人变量 myout

我编写了一个perl脚本,它将路径打印到一个非常特定的文件。我想定义一个个人环境变量(通过在.alias文件中使用setenv)来提供此脚本的输出

例如,假设文件“myscript.pl”打印路径“/home/files/reports/file”。让我们调用变量(我想在.alias文件中定义)myoutput。我希望当我在Unix中键入“most$myoutput”时,most将打开此文件,当我键入“echo$myoutput”时,Unix将打印路径

如何定义由脚本确定值的个人变量

myoutput=$(perl myscript.pl)
当脚本打印更多内容时,请选择正确的行:

myoutput=$(perl myscript.pl | grep /home)

如果使用
bash
,可以将以下内容放入
.bashrc

export myoutput=$(perl /path/to/myscript.pl)
对于tcsh,请改用
.cshrc
,并将行修改为

setenv myoutput `perl /path/to/myscript.pl`

您需要启动一个新会话以使变量存在。

您使用什么shell?抱歉。这没用。当我键入“echo$myoutput”时,我得到了:“perl myscript.pl”,当您指定tcsh时,我已经在键入我的答案了。我想给setenv语句@choroba编写。在将setenv添加到.cshrc之前,您可以在命令行上测试setenv。我将这一行添加到~/.cshrc,当我键入“echo$myoutput”时,我仍然得到:“perl/path/to/myscript.pl”@user3189985:您使用了正确的引号类型吗?没错。我没有用和你一样的引语。我现在就改了,而且很管用。当我放入.alias文件时,它也起作用。