0
我希望在cli中复制文件并将其与ctrl + v粘贴到文件资源管理器中,我发现下面的java代码可以做到这一点,如何在linux shell中做到这一点?如何模拟ctrl + c在bash中复制文件
public static void putFileToSystemClipboard(final File fileOut) throws Exception {
final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
final ClipboardOwner clipboardOwner = null;
final Transferable transferable = new Transferable() {
public boolean isDataFlavorSupported(final DataFlavor flavor) {
return false;
}
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.javaFileListFlavor, DataFlavor.stringFlavor };
}
public Object getTransferData(final DataFlavor flavor) {
if (flavor.equals(DataFlavor.javaFileListFlavor)) {
final List<String> list = new ArrayList<>();
list.add(fileOut.getAbsolutePath());
return list;
}
if (flavor.equals(DataFlavor.stringFlavor)) {
return fileOut.getAbsolutePath();
}
return null;
}
};
clipboard.setContents(transferable, clipboardOwner);
}
http://superuser.com/questions/288320/whats-like-osxs-pbcopy-for-linux – ewcz
@ewcz,我知道xclip,但我只把字符串放到剪贴板,看我的java代码,我把文件放到我的剪贴板上,然后我可以在文件资源管理器中粘贴(ctrl + v),这就是diff – asullaherc
据我了解你的代码,它把绝对路径放在剪贴板?在这种情况下,可能是'readlink -f your_file | xclip -selection clipboard' should work - here'readlink -f'返回'your_file'的绝对路径... – ewcz