Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проверьте скрипт пожалуйста.  (Прочитано 2622 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Axa-Ru

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #15 : 18 Сентября 2011, 12:21:45 »
И я и arcfi вам написали: заключите в кавычки переменные в выражении if [ "$a" = "$b" ]

izamoo

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #16 : 18 Сентября 2011, 12:32:29 »
И я и arcfi вам написали: заключите в кавычки переменные в выражении if [ "$a" = "$b" ]

так вообще не работает

вот скрипт, проверте:
(Нажмите, чтобы показать/скрыть)

Axa-Ru

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #17 : 18 Сентября 2011, 12:38:57 »
Что не работает?
Ошибку скрипт не выдает,
Но работать и не должен. Потому как я вам написал выше, что в сравнении wildcard "*...." работать не будет.
Используйте функцию работы со строками http://www.thegeekstuff.com/2010/07/bash-string-manipulation/
« Последнее редактирование: 18 Сентября 2011, 12:40:45 от Axa-Ru »

izamoo

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #18 : 18 Сентября 2011, 12:42:18 »
Что не работает?
Ошибку скрипт не выдает,
Но работать и не должен. Потому как я вам написал выше, что в сравнении wildcard "*...." работать не будет.
Используйте функцию работы со строками http://www.thegeekstuff.com/2010/07/bash-string-manipulation/

ок, будем читать. Но это же выражение [ $j = $jpg ]сравнивает строки.

Axa-Ru

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #19 : 18 Сентября 2011, 12:51:51 »
#!/bin/bash

str1="abcdefg"
str2="*fg"

if [ $str1 = $str2 ]; then
  echo "строки равны"
else
  echo "строки НЕ равны"
fi

Запускаем:
$ ./sts2.sh
строки НЕ равны
$

Где и что работает?

Да, еще. Пока вы  изучаете все это дело, пишите один оператор/выражение в одной строке. Так проще отлаживать.
« Последнее редактирование: 18 Сентября 2011, 12:53:33 от Axa-Ru »

izamoo

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #20 : 18 Сентября 2011, 12:55:05 »
#!/bin/bash

str1="abcdefg"
str2="*fg"

if [ $str1 = $str2 ]; then
  echo "строки равны"
else
  echo "строки НЕ равны"
fi

Запускаем:
$ ./sts2.sh
строки НЕ равны
$

Где и что работает?

Да, еще. Пока вы  изучаете все это дело, пишите один оператор/выражение в одной строке. Так проще отлаживать.

Спасибо буду разбиратся.

izamoo

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #21 : 27 Сентября 2011, 12:34:24 »
Переделал скрипт, теперь вроде всё работает, я думаю можно маленько доработать и использовать данный скрипт для сортировки файлов по каталогам.
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 27 Сентября 2011, 12:35:48:
помоему строка cd $down
здесь никчему.

Axa-Ru

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #22 : 27 Сентября 2011, 12:50:49 »
Красиво. Молодец.
Маленькое замечание. Строковые переменные (в команде mv тоже) заключайте в кавычки.
Иначе, если попадется имя файла с пробелом возникнет ошибка.

Можно я предложу такой вариант? Он почти похож на ваш, но чуть покороче.

#!/bin/bash

down=/home/vlad/Загрузки
pic=/home/vlad/Картинки

for jpg in ${down}/*.jpg ; do
  mv "$jpg" "$pic"
  echo "mv $jpg $pic"
done

izamoo

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #23 : 27 Сентября 2011, 12:52:40 »
спасибо за замечание. :)

Оффлайн lukinfore

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Проверьте скрипт пожалуйста.
« Ответ #24 : 27 Сентября 2011, 18:47:32 »
Смысл в непосредственно написании ? А то кеп сказал что "mv pic/*.jpg ../*picture /and\ smth.bmp target/dir" баш, да и д'аш вроде, раскрывает без всяких файндов. И есть --verbose для желающих знать, что там переместилось.

izamoo

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #25 : 27 Сентября 2011, 18:54:14 »
Смысл в непосредственно написании ? А то кеп сказал что "mv pic/*.jpg ../*picture /and\ smth.bmp target/dir" баш, да и д'аш вроде, раскрывает без всяких файндов. И есть --verbose для желающих знать, что там переместилось.
Да смысл в написании и тренировке.

Оффлайн lukinfore

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Проверьте скрипт пожалуйста.
« Ответ #26 : 27 Сентября 2011, 19:07:31 »
Я к тому, что
можно маленько доработать и использовать данный
намекает, что смыслы кроме написания таки есть

izamoo

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #27 : 28 Сентября 2011, 14:13:13 »
Я к тому, что
можно маленько доработать и использовать данный
намекает, что смыслы кроме написания таки есть

Основной смысл это тренировка написания скриптов, также можно приспособить для сортировки файлов по папкам. Так же я в курсе что подобных скриптов (сортировки файлов по папкам) написано уже море, но.......как я уже писал основной смысл это треннировка и получение опыта написания скриптов.

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Проверьте скрипт пожалуйста.
« Ответ #28 : 29 Сентября 2011, 16:59:00 »
нельзя не заметить что прежде чем писать скрипты стоит ознакомиться с инструментами системы для которой пишите скрипт, зная инструменты можно добиться максимальной производительности вместо того чтобы топором строгать зубочистки.

izamoo

  • Автор темы
  • Гость
Re: Проверьте скрипт пожалуйста.
« Ответ #29 : 29 Сентября 2011, 18:54:15 »
censor  молодец 5, я же написал, я учусь. Вы наверное сразу как родились и сразу начали ваять. ну вы же гений. Спасибо.

 

Страница сгенерирована за 0.032 секунд. Запросов: 25.