LINUX.ORG.RU

2
Всего сообщений: 21

Нужна помощь с написанием скрипта

Нужна помощь с написанием скрипта в bash Задание такое: написать скрипт который будет копировать файлы JPEG/PNG из папки, изменит название типа файла с больших букв на маленькие, пробелы в названиях заменит на нижнее подчеркивание, поменяет размеры фото на те что укажет пользователь и наконец создаст архив с этими файлами. Буду благодарен за любую помощь:)

 , , ,

svinkaprops ()

Как передать атрибут в gcc

Во втором ответе на этот вопрос перечислены какие-то атрибуты (attribute((visibility(default)))), я попробовал добавить их в аргументы, но cc пишет no such file or directory. Что с этим делать?

https://stackoverflow.com/questions/15861759/how-much-overhead-can-the-fpic-flag-add

 , ,

gradle ()

python запуск команды в терминале.

Решил я переписать для тренировки и изучения питона кучу баш скриптов в питон.

И есть у меня одна проблема. Очень часто в моих баш скриптах есть команды терминала. И они настолько разнообразные, что никакого единого подхода питоном к ним нет. А зачастую и вообще можно только запустить bash код из Питона.

В связи с этим я решил, что почти все команды буду запускать саб процессом из питона.

Но и тут меня встретила жопа с тем, что мне нормально не отловить вывод команды или ее ошибку переменную или в print.

os.system - не отлавливает ошибки subprocess.check_output - не тоже не отдает то ли ошибку,то ли вывод.

Единственное, что более менее работает это

p = Popen(command)
p = Popen(cmd, stdout=subprocess.PIPE,stderr=PIPE,shell=True,
		universal_newlines=True)
	output, error = p.communicate()

но и тут проблемы.

Если я делаю return, то не вижу вывода и должен делать x=function_name(cmd) print(x)

А если я делаю print , то не могу засунуть output в переменную.

В результате у меня родилась уродливая по моему мнению функция, в которую помимо команды я вынужден запихивать метод, корым она мне будет отдавать stdout.

вот она:

def run_command(cmd,output="print",exit_on_error=False):
	p = Popen(cmd, stdout=subprocess.PIPE,stderr=PIPE,shell=True,
		universal_newlines=True)
	o, e = p.communicate()
	if p.returncode != 0:
		if output == "print" : print("%s%s" % (o, e))
		if exit_on_error:
			print("Error. Exit script")
			quit()
		if output == "return": return("%s%s" % (o, e))
	else:
		if output == "return": return("%s%s" % (o, e))
		print("%s%s" % (o, e))

И если я хочу вывод на экран, то

cmd='команда'
run_command(cmd,"print")

А если я хочу вывод в переменную, то

cmd='команда'
x=run_command(cmd,"return")

В если я хочу выйти из скрипта при ошибке, то

run_command(cmd, "print", True)

Тогда как в баше, я получаю вывод в переменную или на экран в зависимости от того просто я запуская команды или запускаю ее в переменную.

Например:

last_remote=$(ssh $backup_ip "/sbin/zfs list -t snapshot -o name | grep "$remote_dataset""@""$type" | sort -r | head -1")

или просто 

$(ssh $backup_ip "/sbin/zfs list -t snapshot -o name | grep "$remote_dataset""@""$type" | sort -r | head -1")

И не важно вернется команда с ошибкой или нет, я могу отловить и статус и текст и сделать это очень просто.

Вопрос, вот эта моя уродливая функция: так все мучаются? или есть нормальное решение?

 , , ,

constin ()

Ищу гайдлайн по специфицированию параметров командной строки

Что, если нужно передать в программу одно значение? Что если значение из фиксированного множества? А если нужно передать массив (чисел или строк)? Какими символами всё это разделяют обычно в командной строке (минусы? точки? двоеточия? знак равенства как в -DAAA=BBB?) и что почитать по этому поводу.

читал то-сё:
POSIX - http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_1...
GNU - https://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html

И как-то я не вдохновлён полнотой описания и наличием примеров/сценариев использования.

 , ,

Einstok_Fair ()

Как сделать возврат команды на англ

Команда

apt-cache policy 
Списки пакетов:
возвращает на русском, как заставить на англ?

 

saufesma ()

Список пользователей и групп, команда.

Какой одной командой можно (допускается использовать pipe): Получить список всех пользователей и групп на сервере.

Пользователи: cat /etc/passwd Список групп: groups Есть команда которая показывает первое и второе?

 , , ,

Finish ()

Команда бесконечно печатающая ASCII таблицу.

Может кто вспомнит. В стародавние времена была команда (программа) аналогичная «yes», но она печатала не бесконечное «y», а бесконечную ASCII таблицу (только видимые символы, от пробела до тильды). Для проверки принтеров, дисплеев. В частности удобно использовать для проверки целостности файла при передаче (глазами, я понимаю, что заполнение псевдослучайной последовательностью лучше, но её глазами не проверишь).

 ,

fk0 ()

Помгите с написанием команды

У меня на ноутбуке стоит две системы: windows 10 и Linux Mint Cinnamon 18. Проблема в том, что на этих двух система стоит разное время, а именно, на windows-е часы спешат на 3 часа, и при установке правильного времени на Linux-e время откатывается назад на 3 часа. Однако, я использую обе системы, и мне бы хотелось узнать команду, которую можно забиндить на ярлык, чтобы время в часах откатывалось на 3 часа назад.

 , ,

Ignatiy ()

Автозапуск SSH forwarding куда?

Ручками запускаю на промежуточном сервере ssh -N -f -L 0.0.0.0:2222:remotessh:22 mylogin@remotessh чтобы пустить другого пользователя. А куда это засунуть для автозапуска? Debian 9.

 , , ,

TepakoT ()

Погода command line в виде запрос/ответ типа telnet

Приветствую! Утерял информацию из недалекого прошлого (год,два). Если кто вспомнит или использует просьба подсказать. Был (надеюсь еще есть и это не wttr.in) сервис выдающий данные о погоде в командной строке. По-моему скандинавский. Выдавал туда же прогноз и график изменения температуры.

Построен был на принципе вопрос/ответ типа как telnet(но не он) или ответ/приветствие со служебной информацией о сервере. В запросе был адрес сервиса и ключи если расширенная инфа нужна.

Может хоть протокол подскажите как подобный запрос/ответ называется.

Спасибо.

 ,

DJArty ()

Перенос папки /home с отдельного раздела назад в корневую папку

Спросите зачем?На харде два раздела,на одном Linux OpenSuse 12.3,а на втором домашняя папка,но я хочу установить на второй Windows,но не хотелось бы терять данные и иметь две рабочие оси Везде пишут,как перенести на отдельный раздел домашнюю папку,но еще пока не встречал ни одной статье, объясняющей,как именно можно перенести обратно в корневой раздел Вся надежда на форумчан,ноутбук не мой. Буду очень благодарен тем,кто последовательно выложит все необходимые команды для терминала,Именно команды,ибо из фразы «нужно размонтировать и заново смонтировать» я не извлеку ничего полезного Заранее спасибо:3 И если оффтоп тоже извините

 , ,

TheGoshka ()

uniq

Всем добрый день. Подскажите,пожалуйста,как воспользоваться командой uniq так,чтобы уникальность определялась только по первому полю,а остальня часть строк не проверялась? Например: hello 123\n hello 345\n hello 567\n Нужно вывести: hello 123

 ,

Kastrulya01 ()

Подсажие софт, чтоб посмотреть температру процессора? Или можно из коробки?

Долбленые пушпины на интеловские процы. Мать их неладная. Сломал нечаянно, хотя раз 5 до этого за все время снимал радиатор и ниче (
Пришлось новый брать, а то за доставку ножек заплатил бы наверное столько же, скольо за кулер. А если бы и меньше, то всё равно ждать почту неохота.
Вы прикиньте какой офигенный маркетинговый ход!!! Поломалась ножка, очень ненадежная, гнущаяся и со временем треснувшая тупая пластиковая ножка. Что делать? Покупать новый кулер, тогда как кулер еще бы мог прослужить год как минимум.
НЕНАВИЖУ!
Вот выговорился, а теперь ближе к теме.
Вообще с железом не на «ты» и даже не на «Вы», а скорее на «Милорд». Посему теперь хочу контролить температуру чтоб процессор не болел. Как это собственно делают на линуксах?

 , , ,

Mindincrash ()

команда, буферизирующая ввод и ждущая EOF перед выводом.

Подскажите, пожалуйста, команду, которая принимает и пишет в буфер все, что ей посылают на stdin, ждет EOF не строки, а ^D, и выводит буфер на stdout.
Сейчас использую для этого sort, но сортировка не всегда полезна.

 , ,

vren ()

Удалить первую страницу у 1000 PDFов ?

как сделать subj. из командной строки?

не извлечь, а именно удалить! чтобы вся тысяча осталась как есть, но каждый - без первой страницы (с рекламой).

 , ,

LittleBin ()

Как посмотреть детальную информацию о каталоге с подкаталогами?

Обычно я польлзуюсь

ll, ls -al, df -h, в mc ctrl+c space
.

Но мне этого недостаточно. Мне нужно сравнить два каталога, с большим количеством подкаталогов и файлов внутри. Один из них располагается на удаленном хосте, второй локально. По ssh есть доступ и туда, и туда.

В идеале нужно видеть, сколько всего файлов цифрой, сколько всего каталогов цифрой, сколько все вместе весит. Еще какую-нибудь инфу для детального сравнения (опционально).

 , ,

dopedopedope ()

Измеритель памяти для Linux

Хочу померять память в процентах от всего занятой (не от всей, а именно от занятой) для каждого процесса. Какой тулзой это можно сделать?

 , ,

Athor ()

конфиг для понижения rate на wifi-адаптере

Подскажите, как автоматизировать команду

iwconfig wlan0 rate 5.5M fixed

запарило постоянно при загрузке вводить под рутом одно и тоже руками. Система Debian Wheezy 7.8.0.

 , , ,

sholmes ()

подскажите утилитку, которая постоянно вызывает заданную команду

и выводит вывод этой команды в одно и тоже место экрана

(видел такую месяц назад, а сейчас пондобилась - вспомнить как называется не могу)

 , ,

FeelUs ()

swiftmailer не посылает сообщения из консольных комманд симфони

http://stackoverflow.com/questions/13122096/unable-to-send-e-mail-from-within...

http://sgoettschkes.blogspot.com/2012/09/symfony-21-commands-and-swiftmailer....

Как говорится в http://symfony.com/doc/current/cookbook/email/spool.html «When you use spooling to store the emails to memory, they will get sent right before the kernel terminates»

Хотелось бы узнать что за событие отлавливается свифмайлером.

Ну и любую другую информацию по теме. Просьба отвечать без спама.

 , , ,

Jaberwock ()