Bash Script: как получить имя файла / путь

Предположим, что я хочу связать файлы PPT, которые нужно открыть с помощью сценария bash, который преобразует его в PDF, затем открывает его с помощью соответствующего PDF-редактора. Как мне это сделать?

Конверсия будет выполнена с uniconv, как я узнал из другого вопроса

uniconv -f pdf presentation.odt

Я считаю, что мне нужно изменить «presentation.odt» с именем файла, который вызвал этот скрипт [!d3 ]

1
задан 13 April 2017 в 15:25

2 ответа

В сценарии оболочки вы можете получить доступ к параметрам командной строки через переменную 1, 2, 3, ..., как в

#!/bin/bash

echo "$1"
echo "$2"
echo "$3"
# ...

. Если вам это нужно, «$ 0» представляет скрипт само имя.

Вы также можете переназначить эту переменную и shift для доступа к более чем 9 параметрам.

1
ответ дан 25 May 2018 в 19:13

Если вы хотите найти все файлы .odt и отправить их в unoconv, вы можете использовать инструмент find, чтобы найти все из них, а затем передать его в xargs, который может выполнять параллельную обработку. [ ! d0]

find * -type f -iname "*.odt" | xargs -i -P12 "uniconv -f pdf {}"

Это будет find все файлы в текущем каталоге, рекурсивно, файлы трубопроводов, которые он находит в xargs, которые будут работать до 12 процессов в одно мгновение (используйте -P0 для неограниченных процессов) .

0
ответ дан 25 May 2018 в 19:13

Другие вопросы по тегам:

Похожие вопросы: