Bash Shell输出保存到其他文件

你想要用重定向将输出保存到当前目录之外的其他位置。

解决方案

重定向输出时加上路径:

echo some more data > /tmp/echo.out

或者:

echo some more data > ../../over.here

讨论

出现在重定向符号(>)后的文件名其实就是路径名。如果没有任何限定部分,那么文件就会放置在当前目录中。

如果文件名以斜线(/)起始,那就是绝对路径名,此时文件会被放置在文件系统层次结构(目录树)中以根目录起始的指定位置(假设所有的中间目录都存在且你有权限进入)。我们使用了 /tmp,这是一个几乎所有 Unix 系统都存在且普遍可用的临时目录。在本例中,shell 会在/tmp 目录中创建名为 echo.out 的文件。

在第二个例子中,我们使用了相对路径名 ../../over.here,其中的 .. 是一个指向父目录的特殊目录,存在于每个目录中。因此,每次引用 .. 就会在文件系统目录树中向上(往根的方向,并非惯常意义中的沿着树“向上”)移动一级。这里的重点是,我们可以按照自己的意愿,将输出重定向到当前目录之外的某个文件中。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!