xsel이 bash 스크립트의 파일로 출력되지 않습니다.

xsel이 bash 스크립트의 파일로 출력되지 않습니다.

저는 현재 프랑스어를 배우고 있으며 학습 과정을 단순화하기 위해 Wiktionary에서 단어를 검색하고 나중에 검토할 수 있도록 검색 기록을 보관할 수 있는 스크립트를 원합니다.

몇 번의 시행착오 끝에 텍스트 선택 항목이 포함된 Wikipedia 페이지를 시작하고 선택 항목과 선택 날짜를 텍스트 파일에 저장하는 bash 스크립트를 작성했습니다.

#!/bin/bash

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

처음 12번은 이 스크립트를 사용했는데 예상대로 작동했습니다. 그러나 어떤 이유로 스크립트의 두 번째 줄이 더 이상 완전히 작동하지 않습니다. 날짜는 여전히 파일에 출력되지만 xsel 텍스트 선택에는 출력되지 않습니다. 아래 첫 번째 줄은 예상되는 출력이고, 두 번째 줄은 현재 얻고 있는 출력의 예입니다.

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

내 멍청한 스크립트가 개선될 수 있다고 확신하지만 문제는 xsel 자체에 있는 것 같습니다. 혼자 실행할 때 일관되게 작동하지 않기 때문입니다. xsel -o, xsel -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

관련 정보