Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 3

Скрипт на bash

06.06.2011, 19:30. Показов 2192. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите реализовать скриптик. В краце расскажу ситуацию для чего нужен. Значит есть 12 машин и к каждой монтируется сетевая папка в локальную папку "Документы". Вот суть проблемы, когда сеть пропадает по каким либо причинам все сохраняется в локальную папку "Документы". А когда снова под монтируется сетевая, то что создали в локальных не видят. Хотелось бы попросить вас дать примерчик или есть у кого скрипт. Который бы при загрузке проверил есть ли в папке "Документы" папки и файлы, если они есть перенести их в папку "Temp" под монтировать раздел и из "Temp" перенести в под монтированную. Ну а если папок и файлов нету то сразу под монтировать. Как монтировать знаю, копирование перемещение, а вот с условиями как то даже не знаю. Если бесплатно нельзя помочь, огласите цену. Заранее спасибо.

Добавлено через 18 минут
Bash
1
2
3
4
if ["$dir_to_bin/$file_s"]
then
else
fi
так понимаю схема типа такой, но что писать именно чтобы он глядел есть ли там папки файлы или нет не наю
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.06.2011, 19:30
Ответы с готовыми решениями:

Скрипт bash
Написать и описать скрипт bash который будет похожий на "телефонную книжку" 1) ввести номер пользователя (1,2 или 3) и сделать подходящий...

Скрипт на bash
Всем доброе время суток! Мне нужно в линуксе, убунту, написать скрипт, который предоставляет пользователю доступ к папке по FTP. Сам...

скрипт на Bash
Unix(bash) Файл состоит из нескольких столбцов. Найти среднее значение и ошибку в каждом столбце файла. Имя файла должно передаваться в...

2
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.06.2011, 02:11
[ - это встроенная команда
help [

некоторые встроенные команды(встроенные в bash) дублируются отдельными программами
Code
1
2
3
4
5
6
7
8
9
[guest@localhost ~]$ which [
/usr/bin/[
[guest@localhost ~]$ /usr/bin/[ -f /etc/passwd ]
[guest@localhost ~]$ echo $?
0
[guest@localhost ~]$ /usr/bin/[ -f /etc/no ]
[guest@localhost ~]$ echo $?
1
[guest@localhost ~]$
man bash содержит описание встроенных команд в разделе SHELL BUILTIN COMMANDS

можно набрать help, чтобы увидеть встроенные команды
там же встроенные конструкции
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[guest@localhost ~]$ help if
if: if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi
    Execute commands based on conditional.
    
    The `if COMMANDS' list is executed.  If its exit status is zero, then the
    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list is
    executed in turn, and if its exit status is zero, the corresponding
    `then COMMANDS' list is executed and the if command completes.  Otherwise,
    the `else COMMANDS' list is executed, if present.  The exit status of the
    entire construct is the exit status of the last command executed, or zero
    if no condition tested true.
    
    Exit Status:
    Returns the status of the last command executed.
[guest@localhost ~]$
if ["$dir_to_bin/$file_s"]

if - конструкция if
["$dir_to_bin/$file_s"] - команда [

у тебя неправильное применение команды [
набери help test

Цитата Сообщение от anton2
Который бы при загрузке проверил есть ли в папке "Документы" папки и файлы, если они есть перенести их в папку "Temp" под монтировать раздел и из "Temp" перенести в под монтированную. Ну а если папок и файлов нету то сразу под монтировать.
Code
1
2
3
4
5
6
7
    if(в исходной папке ничего нет)
        примонтировать сетевую папку
    else {
        перенести всё во временную папку
        примонтировать сетевую папку
        перенести всё из временной папки в исходную
    }
Bash
1
2
3
4
5
6
7
    if is_empty_dir $docdir; then
        mount_net_dir $docdir
    else
        move_all $docdir $tmpdir
        mount_net_dir $docdir
        move_all $tmpdir $docdir
    fi
Bash
1
2
3
4
is_empty_dir() {
    [ $(ls -a1 $1 | wc -l) -eq 2 ];
    return $?;
}
is_empty_dir
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[guest@localhost a]$ ls
a  b  c
[guest@localhost a]$ ls *
a:
file.txt
 
b:
a
 
c:
[guest@localhost a]$ for d in a b c; do if is_empty_dir $d; then echo $d is empty; else echo $d is not empty; fi; done
a is not empty
b is not empty
c is empty
[guest@localhost a]$


mount_net_dir может потребовать ещё аргументов (путь)
move_all должна переносить все файлы и каталоги(скрытые файлы и каталоги)
сначала скопировать всё, потом удалить всё из источника
1
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 3
07.06.2011, 16:30  [ТС]
Спасибо попробую сегодня, но чет чувствую интеллекта не хватит( Отпишусь ближе к вечеру что вышло))

Добавлено через 9 часов 53 минуты
вообщем чет накалякал вроде работает, спс тебе
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2011, 16:30
Помогаю со студенческими работами здесь

Bash скрипт
Разработать скрипт, который: • выводит имя текущего каталога • запрашивает имя пользователя • если указанный пользователь не...

Скрипт на Bash
Помогите написать скрипт на Bash. Необходимо для всех обычных файлов в назначенной директории, которая передается как параметр командной...

Реализовать Bash скрипт
Входные данные: Две папки с файлами A и B Выходные данные: Пустая папка, в которой будут заложены изображения C ...

Создать bash скрипт
Нужен только скрипт (код в строчку последовательно ) Спасибо за помощь Найти файлы, дата создания которых передается в скрипт в...

Bash скрипт с рекурсией
При защите лабораторной работы передо мной была поставлена следующая задача: написать скрипт, используя рекурсию, который будет считать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru