Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157

Открыть новую тему     Написать ответ в эту тему

digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарищи вопрошающие! Если ваша система отлична от ГНУ, и в то же время вы желаете обойтись только дефолтными средствами, указывайте и то и другое сразу, пожалуйста.


UNIX Shell

 
   Это глобальная тема по юниксовой командной оболочке, как по интерактивной работе в командной строке, так и по шелл-скриптам. Ключевые слова: sh, bash, zsh, tcsh, busybox, readline, coreutils, cp, mv, ln, rm, ls, readlink, mkdir, touch, stat, date, test, sleep, chown, chmod, chattr, dd, df, du, env, echo, cat, less, man, grep, sort, findutils, find, locate, xargs, md5sum, cmp, diff, patch, ps, kill, killall, tar, gzip, bzip2, xz, mount, fdisk, parted, mkfs, fsck, e2fsprogs, mtools, ss, netcat, netstat, rsync, ssh, scp, sftp, lftp, ncftp, time, strace.
   Неинтерактивная обработка текста (sed, awk, perl) пока тоже здесь.
   Смотри в других ветках: wget, convert, montage, mogrify и др., gs, git, 7z, p7zip, soffice, mplayer, mencoder, vlc, vim, mc, mcedit, kioclient.
 
 

Hint! Русские маны (подустаревшие, не всегда полные и не всегда для вашей системы) можно попытаться найти на Опеннете, к примеру: bash, tar, grep.

 
Готовые решения:
  • commandlinefu.com
    Крупнейшая база полезных однострочников на командной оболочке с ранжированием на основе пользовательского голосования.
     
  • shell-fu.org
    Аналогично, но поменьше и формат записей более свободный, поэтому встречаются и однострочники, и развернутые скрипты, и просто советы.
     
  • Useful one-line scripts for sed
    Почти исчерпывающий список решений для тех случаев, когда sed незаменим. Более сложные скрипты с sed.sf.net — только для тех, кто знает толк... :)

 
Учебная литература:
  • Greg’s Wiki (http://mywiki.wooledge.org)
    Наиболее обширный авторский сборник постоянно обновляющихся материалов по Башу.

    1. Bash Pitfalls
      (Частые ошибки программирования на Баше: [1], [2], [3], [4], [5] — пер. на русский по сост. на дек. 2008 г.).
      Рассмотрены преимущественно ошибки, возникающие из-за непонимания отличия шелла от «нормальных» скриптовых языков. Если вы уже владеете, например, Перлом, то это вполне может быть ваше первое руководство для ознакомления с Башем.
    2. Bash FAQ
    3. Bash Guide
    4. Bash Reference Sheet
      Шпаргалка по частым синтаксическим оборотам.

 
Классическая учебная литература:
С одной стороны не упомянуть эти издания нельзя, с другой — они настолько устарели, что едва ли их можно рекомендовать в роли учебника.

 

Смело правьте и дополняйте шапку, однако не забывайте отписываться об исправлениях и сохранять исходный вариант под #.
Первый пост темы имел вид...

Всего записей: 385 | Зарегистр. 19-04-2003 | Отправлено: 18:51 16-05-2008 | Исправлено: qw12, 09:42 24-03-2020
tirex2k



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я так понимаю конструкция if ! grep "\|" должна работать так, если нет serverName= или orgId= и соответствено возвращать false, или нет?,
с подсчетом думаю сработает, но тоже не совсем красиво.

Всего записей: 91 | Зарегистр. 09-12-2004 | Отправлено: 13:02 29-03-2025 | Исправлено: tirex2k, 13:05 29-03-2025
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
я так понимаю конструкция if ! grep "\|" должна работать так, если нет serverName= или orgId= и соответствено возвращать false, или нет?,

 
Не, восклицательный знак это значит "если команда после восклицательного знака завершится с ошибкой". А grep вернет "0", если найдет хоть ОДНО ИЗ слов.
 

Цитата:
с подсчетом думаю сработает, но тоже не совсем красиво

Сработает, вполне себе.
Для пущей красоты можете еще добавить в grep ключ "-o" вместо "-c", потом через пайп "||" uniq | wc -l
 
А вообще вариантов решения много. Вот тут в теме "Check if all of multiple strings or regexes exist in a file"(Ваша задачка) линуксоиды изгалялись с awk, git grep и еще чем-то:
https://stackoverflow.com/questions/49762772/check-if-all-of-multiple-strings-or-regexes-exist-in-a-file
 

Всего записей: 1710 | Зарегистр. 08-12-2004 | Отправлено: 17:10 29-03-2025
mithridat1



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Релиз утилит GNU grep 3.12, gzip 1.14, diffutils 3.12 и coreutils 9.7

Всего записей: 5189 | Зарегистр. 05-01-2006 | Отправлено: 11:03 11-04-2025
VecH



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
#!/bin/bash
 
for iface in $(ifconfig | cut -d ' ' -f1| tr ':' '\n' | awk NF|grep nwg)
do
           printf "$iface%s\n"
           declare -a array_test=["$iface"]
done
for i in "${array_test[@]}"; do echo "$i"; done
 

Есть такой скрипт, показывает список интерфейсов (сетевых карт)
он естевственно на bash-е
 
как только меняю интерпретатор на sh
сразу ругается на второй цикл:

Цитата:
./test.sh: line 6: declare: not found

подскажите что тут не так, в bash/sh не силен

 
ОТБОЙ:
Вот так всё работает в entware

Код:
#!/opt/bin/sh
 
for iface in $(ifconfig | cut -d ' ' -f1| tr ':' '\n' | awk NF|grep nwg)
  do
    echo -e "\n# wg showconf "$iface
    wg showconf "$iface"
done
 

Всего записей: 2536 | Зарегистр. 18-02-2003 | Отправлено: 07:42 02-05-2025 | Исправлено: VecH, 07:50 02-05-2025
alex52mail

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как прописать:   чтобы появлялись и работали hotkey в Grtub2 ?  
   menuentry " U_Boot ==> /efi/U_Boot/bootx64.efi "  --hotkey=u { chainloader /efi/U_Boot/bootx64.efi }
Выше hotkey работает - но не появляется в меню перед строкой выбора
А как ниже:  строка просто не появляется в меню
 
GetHotkey  
menuentry " Ventoy ==> /efi/Ventoy/Ventoy_from-where-ventoy.json_x64.efi  " --hotkey=${hotkey }  { chainloader  /efi/Ventoy/Ventoy_from-where-ventoy.json_x64.efi  }


Всего записей: 2040 | Зарегистр. 04-09-2015 | Отправлено: 22:54 08-05-2025 | Исправлено: alex52mail, 22:55 08-05-2025
mithridat1



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Релиз GNU Bash 5.3

Всего записей: 5189 | Зарегистр. 05-01-2006 | Отправлено: 07:32 07-07-2025 | Исправлено: mithridat1, 07:33 07-07-2025
mleo

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

есть кто силен в bash ?

Всего записей: 7764 | Зарегистр. 19-05-2004 | Отправлено: 17:27 06-08-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157

Компьютерный форум Ru.Board » Операционные системы » UNIX » UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru