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

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

5
Як я можу змусити цей скрипт вийти з помилки на основі результату для циклу?
У мене є bash-скрипт, який використовує set -o errexitтак, що при помилці весь сценарій виходить у момент відмови. Сценарій виконує curlкоманду, яка інколи не може отримати призначений файл, однак, коли це відбувається, сценарій не виходить з помилки виходу. Я додав forцикл до зробіть паузу на кілька секунд, а потім повторіть …

1
Скопіюйте файл та додайте часову позначку
У мене є два питання зі своїм сценарієм, який копіює файли та додає часову позначку до імені. cp -ra /home/bpacheco/Test1 /home/bpacheco/Test2-$(date +"%m-%d-%y-%T") Вищенаведене додає Test2як ім'я файлу, але я хочу, щоб воно зберігало ім'я файлу вихідного файлу, який у цьому прикладі названо Test. cp -ra /home/bpacheco/Test1 /home/bpacheco/Test2-$(date +"%m-%d-%y-%r") Інша проблема, …


9
Інструмент командного рядка для "кішки" попарно розширення всіх рядків у файлі
Припустимо, у мене є файл (назвіть його sample.txt), який виглядає приблизно так: Row1,10 Row2,20 Row3,30 Row4,40 Я хочу мати можливість працювати над потоком із цього файлу, який по суті є попарною комбінацією всіх чотирьох рядків (тому ми повинні отримати в цілому 16). Наприклад, я шукаю потокову (тобто ефективну) команду, де …

2
Чи запускається сценарій оболонки, чи можна передавати певні позиційні параметри, не вводячи їх усі в порядку?
Наприклад, якщо у мене скрипт ./foo, який приймає 10 параметрів, я хочу передати лише 8-й параметр. Єдиний спосіб, коли я знаю, як це зробити, це: ./foo '' '' '' '' '' '' '' 'bar' Чи є простіший / кращий спосіб?

1
Чому я повинен уникнути "крапки" двічі?
Я знаю , що ми можемо уникнути особливий характер , як *(){}$з \тим, щоб бути розглянуті літерали. Наприклад \*або\$ Але якщо .мені доведеться це зробити двічі, як \\.інакше це вважається особливим персонажем. Приклад: man gcc | grep \\. Чому так?

3
Як визначити функцію Bash, яку можуть використовувати різні сценарії
Я визначив bashфункцію у своєму ~/.bashrcфайлі. Це дозволяє мені використовувати його в терміналах оболонки. Однак, схоже, це не існує, коли я закликаю його зсередини сценарію. Як я можу визначити bashфункцію, яка також використовується сценаріями?

4
Як виконати заміну sed-place, яка створює лише резервні копії файлів, які були змінені?
Я запустив наступне, щоб замінити термін, який використовується у всіх файлах у поточній робочій директорії: $ find . -type f -print0 | xargs -0 sed -i'.bup' -e's/Ms. Johnson/Mrs. Melbin/g' Це здійснило заміну слова, але також створило .bupфайли з файлів, які ніколи не мали Ms. Johnsonрядка. Як виконати заміну, не створюючи …

2
Як безпечно передавати змінні сценаріям із включеним root?
Це питання є загальним і не стосується лише моєї ситуації, але ... У мене є невеликий пристрій для зайнятих ящиків, де я хочу, щоб користувач, який не має root, мав змогу виконувати певний скрипт із root правами. Наприклад, щось на зразок цього невеликого сценарію для включення DHCP, де єдиною змінною …

3
Коли `ls -s` друкує" 0 "
Звичайно, стандартний спосіб тестування, якщо файл порожній, є test -s FILE, але один з наших клієнтів отримав сценарій, що містить такі тести: RETVAL=`ls -s ./log/cr_trig.log | awk '{print $1}'` if test $RETVAL -ne 0 then echo "Badness: Log not empty" exit 25 fi з твердженнями постачальника про те, що він …


1
Як активувати Virtualenv, коли запускається скрипт Python?
Я хочу запланувати сценарій python для запуску з використанням cron на певні дати, проблема полягає в тому, що для того, example.pyщоб працювати, example-envпотрібно активувати, чи є спосіб зробити example.pyактивацію власного virtualenv, коли це виконує cron? якщо ні, то я повинен створити сценарій bash, bash.shякий містить #!/usr/bin/env bash workon example-env python2 …

1
Чому PGID моєї дитини не обробляє PID батьків?
Тому я постійно читаю, що ця команда повинна припинити всі дочірні процеси батьківського процесу: kill -- -$$ Використовуючи негативний ідентифікатор за допомогою команди kill, посилається на PGID, і з наведених нами прикладів здається, що PGID дочірніх процесів повинен бути PID батьків, але це не так у моїй системі. У моїй …

2
зв’язок між декількома процесами
У мене є скрипт bash, який запускає функцію manager () як окремий процес для x-разів. Як можна пересилати повідомлення всім менеджерам () процесам із сценарію? Я читав про анонімні труби, але поняття не маю, як поділитися повідомленнями з ним. Я намагався робити це з названими трубами, але, здається, мені доведеться …

2
Перевірте залежність сценарію bash / shell
Чи є метод / команда для перевірки залежності bash-скрипту? Іншими словами, відповідь на це питання: Які бібліотеки повинен встановити користувач, щоб запустити скрипт? Я можу це зробити вручну, прочитавши скрипт і перевірити, які інші бібліотеки / команди він викликає, але це не очевидно для довгих сценаріїв.

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