我怎样才能获得cd | cbpaste实际上是cd?

时间:2014-01-09 03:35:51

标签: bash pipe copy-paste cd

我调查了SO,但找不到这个具体问题。我找到了this,但这是针对Linux的。我在OSx 10.7.5上。此外,我有使用xclip的确切问题,我更喜欢使用cbcopy / cbpaste,因为当我运行它时,X11不会打开。但是,如果有人设法找到一个,那么 对你赞不绝口!

我知道如何使用cbcopy管道命令进行复制。我知道如何粘贴。我以为我能够cd | cbpaste,但你知道当你假设会发生什么......

基本上,我复制了一个窗口的密码:

$ pwd | cbcopy
/User/Name/dir/dir/dir/pwd

然后尝试在另一个中插入它:

$ pwd
/User/Name
$ cd | cbpaste
/User/Name/dir/dir/dir/[pwd of the other window, because that's where I copied from]
$ pwd
/User/Name

我没有去过任何地方。它只吐出剪贴板。

我看得越多,我的cd | cbpaste就没有意义了(CD变得无效,因为我实际上并没有告诉它在哪里播放),但我认为必须有办法做什么我正在尝试做,而我还没有在Google / SO上找到它。

当我在同一个窗口中执行此操作时也遇到了同样的问题(即,我通过将pwd,cd复制到root并再次尝试来测试它),这让我觉得我的语法错误。

1 个答案:

答案 0 :(得分:0)

管道越过cbpastecd除了带您回到您的主目录之外不会做任何事情,因为cd没有任何选项会这样做。您需要将cbpaste放在包含$(cbpaste)的环境变量中:

$ pwd | cbcopy    [this works to copy the pwd]
$ cd              [this takes you to the home directory]
$ cd $(cbpaste)   [this takes you to the variable's 
                   value, which is the directory you copied]