Я создаю сценарий bash для извлечения tar-файла и перехода к нему, а затем запускает другой сценарий. До сих пор это работало довольно хорошо с моим кодом ниже, однако я столкнулся со случаем, когда, если извлеченная папка отличается от имени файла .tar, это может вызвать проблему. Итак, мой вопрос: как мне обрабатывать уникальные случаи, когда имя файла отличается от имени файла .tar.
например,) my_file.tar ---> после извлечения ----> my_ Different_file_name
#!/bin/bash
fname=$1
echo the file you are about to extract is $fname
if [ -f $fname ]; then #if the file exists
tar -xvzf $fname #tar it
cd ${fname%.*} #the `%.*` will extract filename from filename.tgz and cd into it
echo ${fname%.*}
echo $PWD
loadIt #another script to load
fi
cd *
будет работать (но это ненадежно, если это не так). Есть ли содержимое извлеченных архивов, которые вы можете использовать для поиска целевого каталога? - person Etan Reisner   schedule 25.01.2016cd *
, я полагаю, что он будет перенесен в другой каталог, чем тот, который был только что извлечен. - person tiger_groove   schedule 26.01.2016