Ofreceré lo mío:
umount /somedir/
lvdisplay /dev/vgsource/lv0 --units b
lvcreate -L 12345b -n lv0 vgtarget
dd if=/dev/vgsource/lv0 of=/dev/vgtarget/lv0 bs=1024K conv=noerror,sync status=progress
mount /dev/vgtarget/lv0 /somedir/
si todo está bien, quita la fuente
lvremove vgsource/lv0
Для пронумерованных аргументов между 0
и 9
, где x
— конкретный пронумерованный аргумент, используйте это обозначение:
$x
Для пронумерованных аргументов выше того, где x
— конкретный пронумерованный аргумент, используйте эту нотацию:
${x}
Чтобы получить список всех аргументов, используйте это:
${@}
Или это:
${*}
Обратите внимание, что когда -заключен в двойные кавычки, ${*}
расширяет все аргументы пробелом -, разделенным (, обычно, технически это первый символ переменной$IFS
(внутреннего разделителя полей ))в одну строку. ${@}
раскрывается в несколько строк, когда -заключен в двойные кавычки.
Брекетинг не требуется при использовании ${@}
или ${*}
.
Это может быть дубликат ответов на вопросы. Тем не менее, пожалуйста, найдите возможное решение для вашего запроса в виде очень простого сценария оболочки ниже.
#!/bin/bash
for i in ${@} ; do
case ${i} in
--test) echo "test option found"
;;
*) echo "Usage: $0 [--test]"
exit 1
esac
done
echo "$0 finished."
Вы можете узнать больше, если поэкспериментируете с параметрами этого сценария оболочки в командной строке. Это может вполне уместно добавить к первому ответу JL2210 .
Н.Б. Строка echo "Usage: $0 [--test]"
предназначена для предоставления некоторого справочного сообщения и использует соглашение для обозначения необязательных аргументов в квадратных скобках.
Надеюсь, это поможет.