首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将参数传递给BASH函数

将参数传递给BASH函数
EN

Unix & Linux用户
提问于 2019-05-28 17:14:13
回答 1查看 114关注 0票数 0

我正在尝试从命令行运行FoxitReader。

为了打开它,我创建了以下函数:

代码语言:javascript
复制
foxit(){
    /home/quora/opt/foxitsoftware/foxitreader/FoxitReader.sh 
    }
export -f foxit

并将其放入.bashrc。这将不以文件名作为参数。所以,foxit mypdf.pdf会打开foxit,但不会打开文件。

代码语言:javascript
复制
foxit(){
    /home/quora/opt/foxitsoftware/foxitreader/FoxitReader.sh "$@"
    }
export -f foxit

另一方面,这个函数会打开文件(S),但是无法保存对它的更改(这是FoxitReader的全部要点,这个程序可以将高光保存到pdfs中。)

我如何设置一切,以便foxit mypdf.pdf mypdf2.pdf打开一系列pdf文件,就好像我已经点击了它们一样?

注意:当我通过Nautilus选择两个或多个pdf文件并按enter键时,Foxit可以打开、更改和保存更改到它们。

FoxitReader.sh:

代码语言:javascript
复制
#!/bin/sh
 appname="FoxitReader"

 selfpath="/home/d4/opt/foxitsoftware/foxitreader"
 exec "$selfpath/$appname" "$@"
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-05-28 18:36:15

FoxitReader手册的角度来看,它似乎不允许以您尝试的方式从命令行打开多个文件。

如果foxitreader是pdf的默认处理程序,那么这个应该可以工作。

代码语言:javascript
复制
#!/bin/bash
for var in "$@"
do
    xdg-open "$var"
done

如果这不是默认的,那就试试

代码语言:javascript
复制
#!/bin/bash
for var in "$@"
do
    FoxitReader "$var" &
done

我没有安装foxitreader来进行测试,但是它在masterpdfeditor4上运行得很好

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/521563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档