Вопрос по работе в терминале

Языки программирования, IDE, компиляторы, интерпретаторы, гипервизоры и виртуальные среды
Правила форума
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Версия ОС вместе с разрядностью. Пример: LM 18.1 x64, LM Sarah x32 2. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 3. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 4. Суть. Желательно с выводом консоли, логами. 5. Скрин. Просьба указывать 1, 2 и 3 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот

Автор темы
bass
Сообщения: 45
Зарегистрирован: 30 ноя 2017, 05:26
Благодарил (а): 3 раза
Поблагодарили: 7 раз

Вопрос по работе в терминале

Сообщение bass » 19 фев 2018, 08:35

ребята, только начал изучать bash, в частности групповые операции. возник вопрос: при вводе команды rm libby*.jpg удаляются все libby1.jpg по libby9.jpg, а при вводе touch libby*.jpg создается только одноименный файл. В touch что, групповуха не работает? Или я чего-то не дописал? Спасибо

Аватара пользователя

Dja
Сообщения: 5622
Зарегистрирован: 27 авг 2016, 17:03
Решено: 22
Откуда: Voskresensk
Благодарил (а): 815 раз
Поблагодарили: 595 раз

Вопрос по работе в терминале

Сообщение Dja » 19 фев 2018, 08:39

bass, а как по-вашему он должен определить сколько вам файлов надо? 01-99? 01-999? 01-9999? 01-9999999999?


Автор темы
bass
Сообщения: 45
Зарегистрирован: 30 ноя 2017, 05:26
Благодарил (а): 3 раза
Поблагодарили: 7 раз

Вопрос по работе в терминале

Сообщение bass » 19 фев 2018, 08:55

Здесь понял. Это значит с квадратными скобками мудрить надо? ща попробую


Автор темы
bass
Сообщения: 45
Зарегистрирован: 30 ноя 2017, 05:26
Благодарил (а): 3 раза
Поблагодарили: 7 раз

Вопрос по работе в терминале

Сообщение bass » 19 фев 2018, 09:01

нифига. touch doc[1-9].txt. эффекта нет. опять одноименный файл

Аватара пользователя

Bill Williamson
Сообщения: 927
Зарегистрирован: 31 авг 2016, 10:38
Решено: 34
Благодарил (а): 290 раз
Поблагодарили: 247 раз

Вопрос по работе в терминале

Сообщение Bill Williamson » 19 фев 2018, 09:13

bass, а циклами нельзя?
for ((a=1; a <= 9; a++)) touch libby$a.jpg
Изображение


Автор темы
bass
Сообщения: 45
Зарегистрирован: 30 ноя 2017, 05:26
Благодарил (а): 3 раза
Поблагодарили: 7 раз

Вопрос по работе в терминале

Сообщение bass » 19 фев 2018, 09:43

Да откуда ж мне знать, зя или нельзя? пишу ж, только начал изучать. Я команд-то и десятка не знаю. А те, что знаю - с аргументами еще разбираться. Циклами мне еще никак, рановато

Аватара пользователя

Chocobo
Сообщения: 9115
Зарегистрирован: 27 авг 2016, 19:57
Решено: 198
Откуда: НН
Благодарил (а): 634 раза
Поблагодарили: 2607 раз

Вопрос по работе в терминале

Сообщение Chocobo » 19 фев 2018, 10:19

bass, touch doc{1..9}.txt
Снимок экрана в 2018-02-19 13-18-15.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
   
Изображение


Автор темы
bass
Сообщения: 45
Зарегистрирован: 30 ноя 2017, 05:26
Благодарил (а): 3 раза
Поблагодарили: 7 раз

Вопрос по работе в терминале

Сообщение bass » 19 фев 2018, 11:40

Ага, спасибо. О таких скобках в моей литературе не было ничего :hshake:

Аватара пользователя

slant
Сообщения: 1744
Зарегистрирован: 21 июн 2017, 15:09
Решено: 26
Благодарил (а): 12 раз
Поблагодарили: 757 раз

Вопрос по работе в терминале

Сообщение slant » 19 фев 2018, 13:27

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

В качестве примера: символ "*" - обозначает в баше "любое количество любых символов". Соответственно может использоваться в "масках" (образцах) для выбора в существующих текстах, но никак не для создания новых - с ним компьютер не будет знать какие именно символы и сколько их нужно. Т.е "cp *.txt" - это на человеческом: скопируй все файлы у которых в начале имени любое количество любых символов а за ними .txt
А "touch *.txt" - на человеческом будет нечто вроде "создать файл с каким-то количеством произвольных символов в начале имени, и заканчивающийся на .txt" - здесь конкретики нету, команда логически неверна.

Так что всегда старайтесь сформулировать и осознать - что именно вы командуете сделать. Если по формулировке возможна двусмысленность - значит команда неверная на 100%.

Вернуться в «Программирование, скриптинг, виртуализация»