Мой скрипт: для создания образов дискет (разный объём)

Здесь можно поговорить о чём угодно и сколько угодно.

Модератор: Модераторы разделов

Ответить
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Всем привет!
Не знаю в какую тему поместить свой скрипт для создания образов дискет.
Поэтому, помещу в разговоры обо всём...

Инструкция:

1. Нужно скачать архив
dka.tar
(10 КБ) 8 скачиваний
и поместить его в домашнюю директорию [ /home/user ]

2. Распаковать архив [в системной консоли или эмуляторе терминала, или менеджере архивов... Например]:
tar xf dka.tar

3. Таким образом, в каталоге обычного [без root прав] пользователя появляется скрипт:
dka.sh

4. Запускаем скрипт...
./dka.sh
[В системной консоли или эмуляторе терминала]
Скрипт, также можно запустить в файловом менеджере...

5. После запуска скрипта
./dka.sh
... Появится каталог
img_all
с образами чистых, пустых, незагрузочных дискет...

Например, для хранения файлов особой важности [ключей...]
Проброс образов в ВМ через флоппи ...
И т.д.

...
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

По хорошему, нужно ещё меню выбора написать... Чем я и занимаюсь...
Хотя, для такого простого скрипта - "Пушкой по воробьям палить!" )))))))))))))))))))))))))))))
Добавлено (03:24):
"По вкусу" можно ещё "навесить" т.е. написать скрипт для создания образов *.hdd для той же "виртуалки"
...
Добавлено (03:33):
Всё-таки, что скажите по-поводу моего стиля написания скриптов..?
На "троечку" хоть есть? Очень интересно...
Скажите, пожалуйста.
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Чтобы дискеты были загрузочными:
dd if=/dev/zero of=test.img bs=1k count=1440
mkdosfs test.img
syslinux --install test.img

...
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 900
ОС: debian, fedora (i3-wm)

Re: Мой скрипт: для создания образов дискет

Сообщение olecya »

Это же СКРИПТ! где команды выполняются поочереди. Для чего вам там оператор управления && (И)?

Код: Выделить всё

sleep 3
echo
echo Вот так лучше?
echo
Или

Код: Выделить всё

sleep 3
echo -e '\nМожет вот так?\n'
Раз уж вы решили поделиться вашей работой. Понятней читать такой код?
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

olecya писала:
25.01.2023 09:16
Это же СКРИПТ! где команды выполняются поочереди. Для чего вам там оператор управления && (И)?

Код: Выделить всё

sleep 3
echo
echo Вот так лучше?
echo
Чтобы строк скрипта было меньше. ...
Добавлено (09:44):
"
sleep 3
echo -e '\nМожет вот так?\n'

Раз уж вы решили поделиться вашей работой. Понятней читать такой код?
"
Эх!
А у меня вообще не понятно?
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 900
ОС: debian, fedora (i3-wm)

Re: Мой скрипт: для создания образов дискет

Сообщение olecya »

igor@igor писал:
25.01.2023 03:14
Всё-таки, что скажите по-поводу моего стиля написания скриптов..?
olecya писала:
25.01.2023 09:16
Понятней читать такой код?
igor@igor писал:
25.01.2023 09:33
А у меня вообще не понятно?
Думаю вы знаете разницу между "понятней" и "вообще не понятно". Вижу конструктивного диалога не сложится.
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

olecya писала:
25.01.2023 09:56
igor@igor писал:
25.01.2023 03:14
Всё-таки, что скажите по-поводу моего стиля написания скриптов..?
olecya писала:
25.01.2023 09:16
Понятней читать такой код?
igor@igor писал:
25.01.2023 09:33
А у меня вообще не понятно?
Думаю вы знаете разницу между "понятней" и "вообще не понятно". Вижу конструктивного диалога не сложится.
Эх..!
Выходит, я - "дурак полный" (((((
Спасибо сказали:
Kopilov
Сообщения: 947
ОС: [K]Ubuntu, Debian

Re: Мой скрипт: для создания образов дискет

Сообщение Kopilov »

igor@igor, а почему возникла такая необходимость? Для образования или необходимый в работе (с чем?) инструмент?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2600
ОС: Gentoo

Re: Мой скрипт: для создания образов дискет

Сообщение ormorph »

igor@igor писал:
25.01.2023 03:14
Всё-таки, что скажите по-поводу моего стиля написания скриптов..?
Вам было скучно и вы решили сломать себе мозг. Ну и другим тоже.., чтобы голову сломали для чего это нужно.
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Kopilov писал:
25.01.2023 10:24
igor@igor, а почему возникла такая необходимость? Для образования или необходимый в работе (с чем?) инструмент?
Для образования.
Также захотел с сообществом скриптами поделиться.
Вот у меня сразу код не очень понятный по стилю написания... Хотя казалось бы генераторами образы создать и всё...
Поэтому в новых версиях скриптов я исправлю свои ошибки...
Стиль написания точно...
...
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

ormorph писал(а):
25.01.2023 10:39
igor@igor писал:
25.01.2023 03:14
Всё-таки, что скажите по-поводу моего стиля написания скриптов..?
Вам было скучно и вы решили сломать себе мозг. Ну и другим тоже.., чтобы голову сломали для чего это нужно.
"
Для образования.
Также захотел с сообществом скриптами поделиться.
Вот у меня сразу код не очень понятный по стилю написания... Хотя казалось бы генераторами образы создать и всё...
Поэтому в новых версиях скриптов я исправлю свои ошибки...
Стиль написания точно...
...
"
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2600
ОС: Gentoo

Re: Мой скрипт: для создания образов дискет

Сообщение ormorph »

igor@igor писал:
25.01.2023 10:57
Вот у меня сразу код не очень понятный по стилю написания
Я конечно могу ошибаться, но больше похоже что вы намеренно его таким сделали. Везде конвейеры и куча sleep. Даже в отношении функционала делать, проверку удачного выполнения echo, это уже совсем лишнее. Если хочется однострочником, то есть точка с запятой на это. Я конечно понимаю что когда скучно можно и не таким ещё заняться, но тут даже новичок просто напишет последовательность команд в столбик, а тут с заморочками да ещё замедлениями по 3 секунды, и это когда нужно только несколько команд dd выполнить. Вам просто захотелось повеселиться.
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 900
ОС: debian, fedora (i3-wm)

Re: Мой скрипт: для создания образов дискет

Сообщение olecya »

ormorph писал(а):
25.01.2023 11:25
Вам просто захотелось повеселиться.
Это желание понятно, с этим и приходит опыт.
igor@igor
У вас много "спящих" моментов. Может тогда совет? Попробуйте делать вывод на монитор в одной позиции курсора, а то смысл в задержке пропадает. Я не разбирала ваш код целиком только глянула шапку. Понятно это баловство, но его можно сделать читаемым и зрелищным по всем правилам (или почти по всем).
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Мой скрипт: для создания образов дискет

Сообщение Bizdelnick »

igor@igor писал:
25.01.2023 03:14
Всё-таки, что скажите по-поводу моего стиля написания скриптов..?
На "троечку" хоть есть? Очень интересно...
Скажите, пожалуйста.
Нет.
На троечку будет, если выкинете все sleep. На четвёрочку — если завернёте повторяющиеся операции в цикл.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 900
ОС: debian, fedora (i3-wm)

Re: Мой скрипт: для создания образов дискет

Сообщение olecya »

Вот мой образец вашей игрушки:

Код: Выделить всё

#!/bin/bash
trap "tput ed; tput cnorm; tput sgr0; exit" EXIT #восстанавливаем параметры при выходе

pool=img_all
size=360
pair=4
tail="0 00"

prc() {
	tput el #очищаем от начала курсора до конца строки
	for i in dim sgr0 bold; do
		tput $i #изменяем яркость текста
		while IFS= read -n1 d; do
			echo -n "$d"
			sleep 0.01
		done <<<$@
		tput rc	#восстанавливаем позицию курсора
	done
	tput sgr0	#отключить изменения
}

tput sc		#запоминаем позицию курсора
tput civis	#невидимый курсор

prc Начало работы скрипта: для удаления и создания пула дискет
sleep 3

if [ -d ${pool} ]; then
	prc Выполняется удаление каталога ${pool}, для хранения образов...
	rm -rf ${pool}
	sleep 3
fi

prc Выполняется создание каталога ${pool}, для хранения образов...
sleep 3
mkdir ${pool} && prc Доказательство - успешно создано
sleep 3

prc Создание образов дискет...
sleep 3
tput el

while ((pair--)); do
	for m in $tail; do
		echo -e "\tСоздается образ \e[33mdf_${size}_${m}.img\e[0m"
		dd if=/dev/zero of=${pool}/df_${size}_${m}.img bs=1K count=${size}
		sleep 1
	done
	((size*=2))
done
echo

ls -l ${pool}
echo -e '\e[1;32mSUCCESS\e[0m'
Можно конечно ограничится миганиями многоточия, но образец я думаю ясен. Специально сделала разношерстную программу с использованием escape-последовательностей и команды tput для примера.
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 900
ОС: debian, fedora (i3-wm)

Re: Мой скрипт: для создания образов дискет

Сообщение olecya »

Как то так:

Код: Выделить всё

#!/bin/bash
trap 'tput ed; tput cnorm; tput sgr0' EXIT

dot3() {
        tput civis
        tput sc
        for j in dim sgr0 bold; do
                tput $j
                for i in . . .; do
                        echo -n $i
                        sleep 0.5
                done
                tput rc
        done
        echo
}

echo -n Выполняется программа
dot3
Добавлено (17:29):
Последний наброс, встроила эту функцию:

Код: Выделить всё

#!/bin/bash
trap 'tput cnorm; tput sgr0' EXIT
set -e

pool=img_all
size=360
pair=4
tail="0 00"

dot4() {
	for j in dim sgr0 bold; do
		tput $j
		for i in . . . .; do
			sleep 0.25
			echo -n $i
			sleep 0.25
		done
		tput cub 4
		tput ed
	done
}

prc() {
	tput ed
	while IFS= read -n1 d; do
		echo -n "$d"
		sleep 0.01
	done <<<$@
	dot4
	tput rc
	tput sgr0
}

tput sc
tput civis

prc Начало работы скрипта: для удаления и создания пула дискет

if [ -d ${pool} ]; then
	prc Выполняется удаление каталога ${pool}, для хранения образов
	rm -rf ${pool}
fi

prc Выполняется создание каталога ${pool}, для хранения образов
mkdir ${pool} && prc Доказательство - вывод этого сообщения

prc Создание образов дискет
tput ed

while ((pair--)); do
	for m in $tail; do
		echo -e "\tСоздается образ \e[33mdf_${size}_${m}.img\e[0m"
		dd if=/dev/zero of=${pool}/df_${size}_${m}.img bs=1K count=${size}
		sleep 0.5
	done
	((size*=2))
done
echo

ls -l ${pool}
echo -e '\e[1;32mSUCCESS\e[0m'
Обновила последний скрипт.
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

ormorph писал(а):
25.01.2023 11:25
igor@igor писал:
25.01.2023 10:57
Вот у меня сразу код не очень понятный по стилю написания
Я конечно могу ошибаться, но больше похоже что вы намеренно его таким сделали. Везде конвейеры и куча sleep. Даже в отношении функционала делать, проверку удачного выполнения echo, это уже совсем лишнее. Если хочется однострочником, то есть точка с запятой на это. Я конечно понимаю что когда скучно можно и не таким ещё заняться, но тут даже новичок просто напишет последовательность команд в столбик, а тут с заморочками да ещё замедлениями по 3 секунды, и это когда нужно только несколько команд dd выполнить. Вам просто захотелось повеселиться.
Нет! Я не для веселья скрипты пишу. Для того чтобы сообщество указало на мои ошибки
по стилю написания...
Вот именно, новичок в столбик команды напишет и "заморачиваться не будет"...
А я предполагал, что мой скрипт "круче" / лучше..!
А по факту "накрутил, что даже чёрт ногу сломит!"
...
=> Виноват! Исправлюсь!
...
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

olecya писала:
25.01.2023 12:28
ormorph писал(а):
25.01.2023 11:25
Вам просто захотелось повеселиться.
Это желание понятно, с этим и приходит опыт.
igor@igor
У вас много "спящих" моментов. Может тогда совет? Попробуйте делать вывод на монитор в одной позиции курсора, а то смысл в задержке пропадает. Я не разбирала ваш код целиком только глянула шапку. Понятно это баловство, но его можно сделать читаемым и зрелищным по всем правилам (или почти по всем).
Да не балуюсь я и не веселюсь...
...
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Bizdelnick писал:
25.01.2023 12:34
igor@igor писал:
25.01.2023 03:14
Всё-таки, что скажите по-поводу моего стиля написания скриптов..?
На "троечку" хоть есть? Очень интересно...
Скажите, пожалуйста.
Нет.
На троечку будет, если выкинете все sleep. На четвёрочку — если завернёте повторяющиеся операции в цикл.
Понял...
...
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

olecya писала:
25.01.2023 16:36
Как то так:

Код: Выделить всё

#!/bin/bash
trap 'tput ed; tput cnorm; tput sgr0' EXIT

dot3() {
        tput civis
        tput sc
        for j in dim sgr0 bold; do
                tput $j
                for i in . . .; do
                        echo -n $i
                        sleep 0.5
                done
                tput rc
        done
        echo
}

echo -n Выполняется программа
dot3
Добавлено (25.01.2023 17:29):
Последний наброс, встроила эту функцию:

Код: Выделить всё

#!/bin/bash
trap 'tput cnorm; tput sgr0' EXIT
set -e

pool=img_all
size=360
pair=4
tail="0 00"

dot4() {
	for j in dim sgr0 bold; do
		tput $j
		for i in . . . .; do
			sleep 0.25
			echo -n $i
			sleep 0.25
		done
		tput cub 4
		tput ed
	done
}

prc() {
	tput ed
	while IFS= read -n1 d; do
		echo -n "$d"
		sleep 0.01
	done <<<$@
	dot4
	tput rc
	tput sgr0
}

tput sc
tput civis

prc Начало работы скрипта: для удаления и создания пула дискет

if [ -d ${pool} ]; then
	prc Выполняется удаление каталога ${pool}, для хранения образов
	rm -rf ${pool}
fi

prc Выполняется создание каталога ${pool}, для хранения образов
mkdir ${pool} && prc Доказательство - вывод этого сообщения

prc Создание образов дискет
tput ed

while ((pair--)); do
	for m in $tail; do
		echo -e "\tСоздается образ \e[33mdf_${size}_${m}.img\e[0m"
		dd if=/dev/zero of=${pool}/df_${size}_${m}.img bs=1K count=${size}
		sleep 0.5
	done
	((size*=2))
done
echo

ls -l ${pool}
echo -e '\e[1;32mSUCCESS\e[0m'
Обновила последний скрипт.
=> Возьму на вооружение..!
Добавлено (22:47):
Я sleep использовал, чтобы наверняка образы в каталоге создались...
Перестраховался я...
...
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Всем привет!

Инструкция_1 [по запуску новой версии скрипта]:

1. Нужно скачать архив
dka_1.tar
(10 КБ) 2 скачивания

и поместить его в домашнюю директорию [ /home/user ]

2. Распаковать архив [в системной консоли или эмуляторе терминала, или менеджере архивов... Например]:
tar xf dka_1.tar

3. Таким образом, в каталоге обычного [без root прав] пользователя появляется скрипт:
dka_1.sh

4. Запускаем скрипт...
./dka_1.sh
[В системной консоли или эмуляторе терминала]
Скрипт, также можно запустить в файловом менеджере...

5. После запуска скрипта
./dka_1.sh
... Появится каталог
img_all
с образами чистых, пустых, незагрузочных дискет...

Например, для хранения файлов особой важности [ключей...]
Проброс образов в ВМ через флоппи ...
И т.д.

От sleep полностью не ушёл, к сожалению...
Без sleep , сразу "выхлоп" с набором образов дискет / дисков ...
Что не есть хорошо(((((
sleep 1
Норм.
На "троечку" "наскрёб"?
Скажите, пожалуйста...
...
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Содержимое скрипта...

Код: Выделить всё

 #!/bin/sh
#Скрипт dka_1.sh - для удаления и создания пустых образов дискет. Ver1 [20230126] .

echo '\nНачало выполнения работы скрипта: dka_1.sh - для удаления и создания пустых образов дискет\n' ; sleep 1

echo 'Выполняется рекурсивное удаление каталога, для хранения образов дискет: img_all \n'
rm -rf img_all ; sleep 1

echo 'Выполняется создание каталога, для хранения образов дискет: img_all \n' ; sleep 1

echo 'Доказательство: \n' ; mkdir img_all ; ls -d img_all ; echo ; sleep 1

echo 'Выполняется переход в каталог: img_all \n' ; sleep 1
cd img_all ; pwd ; echo

echo 'Выполняется начальный просмотр содержимого каталога, для хранения образов дискет: img_all \n'

ls -la ; echo ; sleep 1

echo 'Создание образов дискет: \n' ; sleep 1

echo 'dd if=/dev/zero of=df_360_0.img bs=1K count=360 \n'
dd if=/dev/zero of=df_360_0.img bs=1K count=360
echo '\nОбраз: \n' ; ls -la ; echo ; sleep 1

echo 'dd if=/dev/zero of=df_360_00.img bs=1K count=360 \n'
dd if=/dev/zero of=df_360_00.img bs=1K count=360
echo '\nОбраз: \n' ; ls -la ; echo ; sleep 1

echo 'dd if=/dev/zero of=df_720_0.img bs=1K count=720 \n'
dd if=/dev/zero of=df_720_0.img bs=1K count=720
echo '\nОбраз: \n' ; ls -la ; echo ; sleep 1

echo 'dd if=/dev/zero of=df_720_00.img bs=1K count=720 \n'
dd if=/dev/zero of=df_720_00.img bs=1K count=720
echo '\nОбраз: \n' ; ls -la ; echo ; sleep 1

echo 'dd if=/dev/zero of=df_1440_0.img bs=1K count=1440 \n'
dd if=/dev/zero of=df_1440_0.img bs=1K count=1440
echo '\nОбраз: \n' ; ls -la ; echo ; sleep 1

echo 'dd if=/dev/zero of=df_1440_00.img bs=1K count=1440 \n'
dd if=/dev/zero of=df_1440_00.img bs=1K count=1440
echo '\nОбраз: \n' ; ls -la ; echo ; sleep 1

echo 'dd if=/dev/zero of=df_2880_0.img bs=1K count=2880 \n'
dd if=/dev/zero of=df_2880_0.img bs=1K count=2880
echo '\nОбраз: \n' ; ls -la ; echo ; sleep 1

echo 'dd if=/dev/zero of=df_2880_00.img bs=1K count=2880 \n'
dd if=/dev/zero of=df_2880_00.img bs=1K count=2880
echo '\nОбраз: \n' ; ls -la ; echo ; sleep 1

echo 'Выполняется конечный просмотр содержимого каталога, для хранения образов дискет: img_all \n'

echo 'Образы дискет: \n' ; ls -la ; echo ; sleep 1

echo 'Завершение выполнения работы скрипта: dka.sh - для удаления и создания пустых образов дискет,'
echo '                                       через четыре секунды:'

echo ; sleep 1
echo '                                                4                                       '

echo ; sleep 1
echo '                                                3                                       '

echo ; sleep 1
echo '                                                2                                       '

echo ; sleep 1
echo '                                                1                                       '

echo

#Скрипт dka_1.sh - для удаления и создания пустых образов дискет. Ver1 [20230126] .
 
Добавлено (08:29):
А понял.
Чтобы от sleep в моих скриптах полностью уйти, нужно убрать промежуточные сообщения...
Максимум оставить: "было" - "стало"...
Все!
Добавлено (08:36):
=> Будет мне твёрдая троечка!
Добавлено (09:34):
А можно ещё такой "трюк" провести: sleep обнулить [sleep(0)] .
И будет мне "твёрдая троечка!"
...

По факту: у меня где-то 4-е инф-х сообщения и восемь генераторов /dev/zero
Всё..!

А я снова "Пушкой по воробьям палю..!" )))))))))))))))))
...
Последний раз редактировалось igor@igor 26.01.2023 14:16, всего редактировалось 1 раз.
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 900
ОС: debian, fedora (i3-wm)

Re: Мой скрипт: для создания образов дискет

Сообщение olecya »

igor@igor
Ваш стиль кодирования сравним со стилем вашей темы. Бездумное цитирование комментариев целиком, разбросанные мысли, превратили ее в портянку. Следить за такой темой так же не удобно, как и пробираться через ваш скрипт. Но. Вы создали работающий(!) скрипт это главное. Все остальное дело наживное. Легче было бы мне пройти мимо, но возможно это подтолкнет вас в нужном направлении.
igor@igor писал:
26.01.2023 07:36
По факту: у меня где-то 4-е инф-х сообщения и восемь генераторов /de/zero
По факту у вас один генератор увеличивающий размер пары файлов ровно в двое с каждым циклом. Выкиньте все и попробуйте реализовать в скрипте только его. Потом обвесите необходимыми дополнениями. Посмотрите пример, как реализовано у меня при помощи вложенных циклов.
Добавлено (13:10):
Если наведете курсор на мой ник под аватаром то справа появится ссылка (Вставить имя) которую можно адресовать в комментарий
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Окончательно!
Инструкция_2 [по запуску новой версии скрипта]:

1. Нужно скачать архив
dka_2.tar
(10 КБ) 3 скачивания

и поместить его в домашнюю директорию [ /home/user ]

2. Распаковать архив [в системной консоли или эмуляторе терминала, или менеджере архивов... Например]:
tar xf dka_2.tar

3. Таким образом, в каталоге обычного [без root прав] пользователя появляется скрипт:
dka_2.sh

4. Запускаем скрипт...
./dka_2.sh
[В системной консоли или эмуляторе терминала]
Скрипт, также можно запустить в файловом менеджере...

5. После запуска скрипта
./dka_2.sh
... Появится каталог
img_all
с образами чистых, пустых, незагрузочных дискет...

Например, для хранения файлов особой важности [ключей...]
Проброс образов в ВМ через флоппи ...
И т.д.

От sleep полностью ушёл...
На "троечку" "наскрёб"?
Скажите, пожалуйста...
...
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Скрипт dka_2.sh :
#!/bin/sh
#Скрипт dka_2.sh - для удаления и создания пустых образов дискет. Ver2 [20230126] .

echo '\nНачало выполнения работы скрипта: dka_2.sh - для удаления и создания пустых образов дискет\n'

echo 'Выполняется рекурсивное удаление каталога, для хранения образов дискет: img_all \n'
rm -rf img_all

echo 'Выполняется создание каталога, для хранения образов дискет: img_all \n'

echo 'Доказательство: \n' ; mkdir img_all ; ls -d img_all ; echo

echo 'Выполняется переход в каталог: img_all \n'
cd img_all ; pwd ; echo

echo 'Выполняется начальный просмотр содержимого каталога, для хранения образов дискет: img_all \n'
ls -la ; echo

echo 'Создание образов дискет: \n'

echo 'dd if=/dev/zero of=df_720_0.img bs=1K count=720 \n'
dd if=/dev/zero of=df_720_0.img bs=1K count=720
echo '\nОбраз: \n' ; ls -la ; echo

echo 'dd if=/dev/zero of=df_720_00.img bs=1K count=720 \n'
dd if=/dev/zero of=df_720_00.img bs=1K count=720
echo '\nОбраз: \n' ; ls -la ; echo

echo 'dd if=/dev/zero of=df_1440_0.img bs=1K count=1440 \n'
dd if=/dev/zero of=df_1440_0.img bs=1K count=1440
echo '\nОбраз: \n' ; ls -la ; echo

echo 'dd if=/dev/zero of=df_1440_00.img bs=1K count=1440 \n'
dd if=/dev/zero of=df_1440_00.img bs=1K count=1440
echo '\nОбраз: \n' ; ls -la ; echo

echo 'Выполняется конечный просмотр содержимого каталога, для хранения образов дискет: img_all \n'

echo 'Образы дискет: \n' ; ls -la ; echo

echo 'Завершение выполнения работы скрипта: dka_2.sh - для удаления и создания пустых образов дискет'

echo

#Скрипт dka_2.sh - для удаления и создания пустых образов дискет. Ver2 [20230126] .
Добавлено (14:08):
olecya писала:
26.01.2023 12:59
По факту у вас один генератор увеличивающий размер пары файлов ровно в двое с каждым циклом. Выкиньте все и попробуйте реализовать в скрипте только его. Потом обвесите необходимыми дополнениями. Посмотрите пример, как реализовано у меня при помощи вложенных циклов.
Да, точно - один генератор.
Обязательно при помощи вложенных циклов реализую... Чтобы повысить свой троечный уровень...
...
Добавлено (14:12):
olecya
olecya писала:
26.01.2023 12:59
Ваш стиль кодирования сравним со стилем вашей темы. Бездумное цитирование комментариев целиком, разбросанные мысли, превратили ее в портянку. Следить за такой темой так же не удобно, как и пробираться через ваш скрипт. Но. Вы создали работающий(!) скрипт это главное. Все остальное дело наживное. Легче было бы мне пройти мимо, но возможно это подтолкнет вас в нужном направлении.
Ещё как подтолкнёт...
Добавлено (14:25):
Уже подтолкнуло...
Я сколько ошибок уже исправил...

...
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: Мой скрипт: для создания образов дискет

Сообщение UnixNoob »

Offtopic
Просто впечатление о вашей переписке, не со зла, вспомнилось :laugh:
“ «Если лошадь пьет из ведра, как об этом можно сказать? Можно, например, так сказать: лошадь пьет из ведра. А можно и по-другому. Ну хотя бы так: представитель распространенного в большинстве географических зон земного шара семейства парнокопытных осуществляет процесс удовлетворения органической потребности в воде методом всасывания влаги из сосуда, имеющего диаметр не меньший, чем окружность морды лошади».»

Отрывок из книги
Учитесь быстро читать
Олег Андреевич Андреев “
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

:D :D :D :D :D
Последний раз редактировалось igor@igor 26.01.2023 18:20, всего редактировалось 1 раз.
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

UnixNoob писал:
26.01.2023 17:18
Offtopic
Просто впечатление о вашей переписке, не со зла, вспомнилось :laugh:
“ «Если лошадь пьет из ведра, как об этом можно сказать? Можно, например, так сказать: лошадь пьет из ведра. А можно и по-другому. Ну хотя бы так: представитель распространенного в большинстве географических зон земного шара семейства парнокопытных осуществляет процесс удовлетворения органической потребности в воде методом всасывания влаги из сосуда, имеющего диаметр не меньший, чем окружность морды лошади».»

Отрывок из книги
Учитесь быстро читать
Олег Андреевич Андреев “
:D :D :D :D :D
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Из самой новой версии скрипта:
dka_2.sh
я убрал создание образов дискет -
на 360K и 2880K
Так как -
360K - очень малый объём [дискета не форматируется в ФС ext4]
2880K - при форматировании в ФС ext4 становится эквивалентной по объёму 1440K

2880K ~ 1440K

Тогда, какой смысл в создаии образа дискеты на 2880K ?

Убрал sleep полностью.

Легко проверять мой скрипт...

Поэтому, твёрдая троечка по стилю написания..!
Моё мнение...
Вы, как считаете?
Скажите, пожалуйста.
Спасибо сказали:
igor@igor
Сообщения: 1374
ОС: Debian GNU/Linux, wheezy-amd64

Re: Мой скрипт: для создания образов дискет

Сообщение igor@igor »

Bizdelnick писал:
25.01.2023 12:34
igor@igor писал:
25.01.2023 03:14
Всё-таки, что скажите по-поводу моего стиля написания скриптов..?
На "троечку" хоть есть? Очень интересно...
Скажите, пожалуйста.
Нет.
На троечку будет, если выкинете все sleep. На четвёрочку — если завернёте повторяющиеся операции в цикл.
Сделаю сначла как, Вы, говорите...
Добавлено (01:58):
Позднее с двойными циклами... как мисс olecya делает...
Спасибо сказали:
Ответить