xsel 未输出到 bash 脚本中的文件

xsel 未输出到 bash 脚本中的文件

我目前正在学习法语,为了简化我的学习过程,我想要一个脚本,允许我在维基词典上查找单词并保留我的搜索记录以供以后复习。

经过一番尝试和错误后,我编写了一个 bash 脚本,该脚本启动了我的文本选择的维基词典页面,并将选择和选择日期保存到一个文本文件中。

#!/bin/bash

firefox 'https://en.wiktionary.org/wiki/'$(xsel)'#French'
echo $(xsel)$(date +": %Y-%m-%d (%a)") >> fr/word-list.txt

我使用该脚本的前十几次它按预期工作。但是,由于某种原因,脚本的第二行不再完全有效。日期仍会输出到文件,但不会输出到 xsel 文本选择。下面第一行是预期输出;第二行是我当前得到的输出的示例。

enterrement: 2023-06-18 (Sun)
: 2023-06-18 (Sun)

我确信我的 noob 脚本可以改进,但问题似乎出在 xsel 本身上,因为当我单独运行它时,它不能一致地工作。有时它会返回空白输出,包括当我使用xsel -oxsel -ob和时xsel -op

令人困惑的是,脚本的第一行也依赖于 xsel,始终如一地工作。

答案1

我不熟悉,xsel所以我不知道是什么原因导致你的问题。

但与此无关,通常您不应该运行不必要的外部命令,因此解决您的问题的简单方法是:

#!/bin/bash

xsel="$(xsel)"

firefox "https://en.wiktionary.org/wiki/${xsel}#French"
echo "$xsel$(date +': %Y-%m-%d (%a)')" >> fr/word-list.txt

相关内容