在我的cygwin .bashrc
中,我有以下两个别名:
alias dospath='cygpath -w `pwd`'
alias dospathcp='dospath > /dev/clipboard'
第一个应该打印执行它的目录的dos(或windows)路径。这个按预期工作。
然后,第二个别名应该将dospath
的输出重定向到/dev/clipboard
,以便我可以将其粘贴到Windows应用程序中。这个不起作用。当我在bash中输入dospathcp
时,它只会清空/dev/clipboard
(和clipbaord本身)。
答案 0 :(得分:0)
尝试如下:
alias dospath='cygpath -w $PWD'
alias dospathcp='dospath > /dev/clipboard'
这在我的CYGWIN_NT-6.1-WOW64 CC 1.7.25(0.270 / 5/3)中生成以下输出2013-08-31 20:39 i686 Cygwin
$ alias dospath='cygpath -w $PWD'
$ cd /home/somedir
$ dospath
W:\cygwin\home\somedir
$ cd /home/anotherdir
$ dospath
W:\cygwin\home\anotherdir
$ alias dospathcp='dospath > /dev/clipboard'
$ cd /home/somedir
$ dospathcp
$ cat /dev/clipboard
W:\cygwin\home\somedir
$ cd /home/anotherdir
$ dospathcp
$ cat /dev/clipboard
W:\cygwin\home\anotherdir
请参阅http://ss64.com/bash/alias.html
替换文本的第一个单词是针对别名测试的,但是a 与扩展的别名相同的单词不会扩展a 第二次。这意味着可以将ls别名为“ls -F”,for 实例,Bash不会尝试递归扩展替换 文本。