Запитання з тегом «shell-script»

Запитання щодо скриптів оболонки, виконуваних файлів, які інтерпретуються оболонкою (bash, zsh тощо).

3
BASH та поведінка повернення вагона
У мене є одне швидке запитання. Це нормально, що bash (я використовую 4.4.11) не відображає рядки / текст, який відокремлений / закінчується простим \r? Я трохи здивувався, побачивши таку поведінку: $ a=$(printf "hello\ragain\rgeorge\r\n") $ echo "$a" george Але текст "привіт знову" все ще є, якось "прихований": $ echo "$a" |od …

2
Порахуйте кількість елементів у масиві bash, де ім'я масиву є динамічним (тобто зберігається у змінній)
Короткий виклад питання: Чи існує вбудований метод bash для підрахунку кількості елементів у масиві bash, де ім'я масиву є динамічним (тобто зберігається у змінній), не вдаючись до повноцінної копії масиву чи використання eval? Більше інформації: За допомогою підстановки параметрів bash можна зробити наступне: Визначити довжину масиву: myArr=(A B C); echo …

4
Як я можу визначити вміст файлів, знайдених за допомогою пошуку, в один файл?
Мені вдалося застрелити себе там, де це боляче (дійсно погано), переформатувавши розділ, який містив цінні дані. Звичайно, це було не навмисно, але це сталося. Однак мені вдалося використати testdiskта photorecвідновити більшість даних. Тож тепер у мене всі ці дані поширюються майже на 25 000 каталогів. Більшість файлів - це файли …

4
Перевірте, чи активний порт telnet в сценарії оболонки
Я намагаюся створити сценарій, щоб перевірити, чи можна ввійти через telnet. Я не хочу дійсно входити в систему; тому очікувати не потрібно. Я просто хочу перевірити, чи зможу я отримати підказку для входу. Це робиться в системі Linux, тому я намагався використовувати nc: nc 192.168.10.5 23 -w 1 | grep …

4
Bash, як дозволити деяким фоновим процесам працювати, а чекати інших?
У мене є (ще) інший wait, &, &&питання потоку управління .. Скажіть, у мене є такий сценарій, коли я хочу зробити якомога більше роботи одночасно: # may take some hours something InputA > IrrelevantA & something InputB > IrrelevantB & # may take an hour ( somethingElse InputA > OutputA …

7
Чи завжди $ 0 буде містити шлях до сценарію?
Я хочу привітати поточний сценарій, щоб я міг роздрукувати інформацію про довідку та версії з розділу коментарів вгорі. Я думав про щось подібне: grep '^#h ' -- "$0" | sed -e 's/#h //' Але тоді я задумався, що буде, якщо скрипт буде розташований у каталозі, який знаходиться у PATH, і …

1
непряме розширення змінної в POSIX, як це робиться в bash?
Чи можливо, чи є якийсь елегантний хак, щоб зробити непряме розширення змінної в POSIX, як це можна зробити в Bash? Для контексту я намагаюся зробити наступне: for key in ${!map_*} do # do something done EDIT: Щоб уточнити, я хотів би отримати доступ до змінних оболонок, які починаються з map_.

4
Асоціативні масиви в сценаріях оболонок
Я побачив трюк для реалізації асоціативних масивів у сценарії оболонки. Наприклад, print array["apples"]може бути написано як, echo \$array$keyде key = яблука. Однак не було згадок про те, як генерувати ключі для повторення масиву. Єдиний спосіб, про який я міг придумати, - це зберігати ключі в змінній, розмежованій пробілами, щоб я …

3
Умовне призначення на основі змінної середовища
У сценарії bash я призначаю локальну змінну так, що значення залежить від зовнішньої глобальної змінної середовища ( $MYAPP_ENV). if [ "$MYAPP_ENV" == "PROD" ] then SERVER_LOGIN=foobar123@prod.example.com else SERVER_LOGIN=foobar987@test.example.com fi Чи існує коротший (але чистий) спосіб написання вищезазначеного завдання? (Імовірно, використовується якийсь умовний оператор / вбудований, якщо.)

5
Сценарій Shell для надсилання сповіщення електронною поштою, якщо використання диска перевищує 90%
Я хочу реалізувати на моєму сервері сценарій, який автоматично надсилатиме сповіщення електронною поштою, якщо використання диска перевищує 90%, а сповіщення про другу електронну пошту, коли воно перевищує 95%. Моя файлова система є, abc:/xyz/abcі точка монтажу є /pqr. Я спробував це: ADMIN="someone@def.com" ALERT=90 df -H | grep -vE 'abc:/xyz/pqr | tmpfs …


4
Сценарій Bash для виявлення системи управління версіями, перевіряючи стан повернення команди
Я працюю над сценарієм bash, над яким я хотів би працювати для декількох типів VCS. Я думаю про тестування, чи каталог є репо для системи, запустивши типову команду info та перевіривши код повернення, успіх чи помилку. У псевдокоді: if a svn command succeded; Then run svn commands elif a darcs …

2
Чому #! / Usr / bin / env bash не працює в моїй системі?
Я зіткнувся з деякими проблемами, коли запускав деякі сценарії встановлення, де вони скаржилися bad interpreter. Тому я зробив банальний приклад, але не можу зрозуміти, у чому проблема, дивіться нижче. #!/usr/bin/env bash echo "hello" Виконання сценарію вище призводить до наступної помилки [root@ech-10-24-130-154 dc-user]# ./junk.sh bash: ./junk.sh: /usr/bin/env: bad interpreter: No such …

3
Зателефонуйте до іншого сценарію, але не виходьте з батьків, якщо дитина викликає вихід
first.sh: #! /bin/ksh echo "prova" . ./second.sh echo "ho lanciato il secondo" . ./third.sh echo "ho lanciato il terzo" second.sh: echo "sono nel secondo script" dosomething1 exit $? Якщо second.shвиявляється помилка і виходить зі статусом -9, first.shвиходить завжди. Як я можу уникнути виходу з першої оболонки, якщо дочірня оболонка виходить? …

3
Натисніть будь-яку клавішу, щоб призупинити скрипт оболонки, знову натисніть, щоб відновити
Я написав скрипт оболонки для тестування API, який копіює файли та повторює його хід після кожного. Між кожною копією є дві секунди сну, тому я хотів би додати можливість натиснути будь-яку клавішу, щоб призупинити сценарій, щоб дозволити більш глибоке тестування. Потім натисніть будь-яку клавішу для відновлення. Як я можу додати …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.