Вы используете переменную неправильного типа и забыли заключить ее в кавычки.
Здесь вам нужен массив для хранения более одного аргумента:
#! /bin/bash -
pat=('*.ab' -o -name '*.bc')
open='('
close=')'
path=path
find "$path" -type f "$open" -name "${pat[@]}" "$close"
Обратите внимание, что аргумент *.ab
и (
вы хотите передать в find
, а не '*.ab'
или \(
. Эти кавычки и обратная косая черта являются частью синтаксиса оболочки.
Это только в том случае, если вы хотите построить командную строку оболочки, например, чтобы перейти к eval
для оценки оболочки, что вы бы сделали:
#! /bin/bash -
pat="'*.ab' -o -name '*.bc'"
open="\("
close="\)"
path=path
eval 'find "$path" -type f '"$open -name $pat $close"
Для последующей оценки оболочкой:
find "$path" -type f \( -name '*.ab' -o -name '*.bc \)
Что, как указано выше, приводит к вызову find
с этими аргументами:
find
path
(содержание$path
)-type
f
(
*.ab
-o
-name
*.bc
)
Вы скопировали образ с USB-накопителя. Вместо этого просто скопируйте файлы:
cp -a /media/... ~/foldername # Replace "..." with the rest of the path to the mounted USB stick
Если вы не уверены, куда ваша система смонтировала USB-накопитель, вы можете узнать это с помощью любой из этих команд
df -h # List all the mounted filesystems; look for the one you want
mount | awk '/sdx/ {print $4}' # List of mounted filesystems, match "sdx", print mountpoint
Я бы настоятельно рекомендовал вам забыть, что вы когда-либо слышали о команде dd
, пока не познакомитесь с системами UNIX/Linux. Действительно. (Почему? Потому что очень мало ситуаций, когда это действительно необходимо. Часто для необработанной копии cat
на самом деле быстрее -и уж точно не медленнее. И здесь cp
— правильная команда для использования.)
Необходимо использовать правильный путь, чтобы получить доступ к изображению после его копирования. /home/John/Desktop/anyfilename сработало. Однако файл кажется зашифрованным (101010 ). Если мне нужно перенести образ обратно на флэш-накопитель, если исходный образ флэш-диска будет поврежден, не знаю, будет ли проблема с шифрованием. Спасибо всем, кто внес свой вклад.