Я обнаружил проблему с помощью команды libicns icontainer2icns, у нее нет возможности указать выходную папку, а просто поместить все извлеченные файлы .icns в текущий рабочий каталог.
Например, есть файл с именем «source.icontainer» в «/ home / user / test».
user@localhost:/home/user$ icontainer2icns test/source.icontainer
Выполнение вышеуказанной команды приведет к тому, что все файлы .icns будут извлечены в / home / user, но не в папку / home / user / test.
Есть ли способ перенаправить все извлеченные файлы в указанную мной папку?
Один из них будет работать:
$ cd test
$ icontainer2icnssource.icontainer
или:
$ cd test; icontainer2icnssource.icontainer
или:
$ (cd test; icontainer2icnssource.icontainer)
Он сделает то, что вы хотите, и оставит вас обратно в каталог, из которого вы начали, поскольку он выполняется в подоболочке.
Если вы используете Bash, следующий будет также делать то же самое, но он не переносится на некоторые другие оболочки:
$ pushd test; icontainer2icnssource.icontainer; popd