我正在使用两种不同的操作系统.
>对于MacOS:打开file.pdf(它在Mac中的默认pdf程序中打开pdf)
> for Linux:xdg-open file.pdf(在Linux中也是如此)
如果我交换命令它不起作用.
是否有任何单行命令集如下:
> open file.pdf或xdg-open file.pdf
我想要一个适用于它们的命令(或命令)而不显示任何错误.
我需要此命令的地方是make文件.
我有这样的makefile:
all:
open file.pdf
xdg-open file.pdf
other things ..
在makefile中,如何确保make命令不运行
Mac和Linux都出错?
# set pdfviewer for linux and unix machines
####################################################
UNAME_S := $(shell uname -s)
$(info $$UNAME_S == $(UNAME_S))
ifeq ($(UNAME_S),Linux)
PDFVIEWER := xdg-open
else ifeq ($(UNAME_S),Darwin)
PDFVIEWER := open
else
$(error unsupported system: $(UNAME_S))
endif
$(info $$PDFVIEWER == $(PDFVIEWER))
####################################################
# open the pdf file
default: all
$(PDFVIEWER) my_pdf_filename.pdf
解决方法:
如果您不介意调用shell,可以在Makefile中查询系统并相应地设置PDFVIEWER:
UNAME_S := $(shell uname -s)
$(info $$UNAME_S == $(UNAME_S))
ifeq ($(UNAME_S),Linux)
PDFVIEWER := xdg-open
else ifeq ($(UNAME_S),Darwin)
PDFVIEWER := open
else
$(error unsupported system: $(UNAME_S))
endif
$(info $$PDFVIEWER == $(PDFVIEWER))