아카이브를 생성하는 데 사용하는 다음 스크립트를 추출하려는 스크립트로 변환하려고합니다. 내가 인수를 폐기 할 필요가 없습니다이 스크립트로 변화를 유지하기 위해 필요 여부를 내가 아는 해달라고아카이브를 추출하는 Bash 쉘 스크립트
[[ $# -lt 1 ]] && exit 1
files=("[email protected]")
#remove files and directories which are not readable
for index in "${!files[@]}"; do
[[ -r ${files[index]} ]] || unset "files[index]"
done
[[ ${#files[@]} -eq 0 ]] && exit 1
if tar -xzvf "${files[@]}".tar.gz; then
echo "OK"
else
echo "Error"
exit 1
fi
:
[[ $# -lt 2 ]] && exit 1
name=$1; shift
files=("[email protected]")
#exclude all files/directories that are not readable
for index in "${!files[@]}"; do
[[ -r ${files[index]} ]] || unset "files[index]"
done
[[ ${#files[@]} -eq 0 ]] && exit 1
if tar -czvf "${name:-def_$$}.tar.gz" "${files[@]}"; then
echo "Ok"
else
echo "Error"
exit 1
fi
지금까지 나는이 있습니다. 나는 그 (것)들을 전부 가지고 가고 각자를 개봉 할 수 있고 싶다. 또한 사용자가 압축을 푼 파일의 위치를 선택할 수있는 -C 스위치가 있음을 알 수 있습니다. 파일을 압축 해제 할 디렉토리를 변경하기를 원할 수도 있고 원하지 않을 수도 있기 때문에 사용자를위한 옵션으로 추가하는 방법에 대해서도 설명하겠다.
'one.tar.gz'가 포함 된 경우 글쎄,'two.tar.gz', 그것은'작동합니다)' –
@ DavidC.Rankin 하하, 좋은 지적이다.) – PesaThe
완료 전에 OK 에코를 추가하고 에코에 오류를 발생시키는 다른 방법을 사용할 수 있습니까? – Lenk