Как получить путь к файлу с другой программой в терминале Linux? - PullRequest
0 голосов
/ 08 ноября 2019

Допустим, я хочу сохранить путь файла к переменной в терминале Linux. Я мог бы сделать это так: VARIABLE=/home/john/Documents/example.txt

Есть ли способ сделать это с другой программой, например, Ranger? В псевдокоде:

echo "Choose a file:"
// launch Ranger
// return a file path into a variable
echo $example_variable
// prints the file you chose with Ranger

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Попробуйте:

variable=$(ranger --choosefile=/dev/stdout)

В Linux, когда программа записывает в /dev/stdout, вывод идет в поток стандартный вывод . $(...) ( подстановка команд ) фиксирует стандартный вывод команды и позволяет назначать ее переменной.

0 голосов
/ 08 ноября 2019

Вы можете использовать что-то вроде этого:

echo "Choose a file:"
tempfile=$(mktemp)
ranger --choosefile="$tempfile"
read -r example_variable < "$tempfile"
rm -f "$tempfile"

Я думаю, это должно быть само за себя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...