Запитання з тегом «bash-scripting»

Сценарій Bash - це створення сценаріїв мовою оболонки Bash.

1
Як переключити / змінити користувальницький ідентифікатор у скрипті bash для виконання команд у тому ж сценарії?
Чи є спосіб переключити ідентифікацію користувача в скрипті (виконується як root у рамках процесу встановлення), щоб виконати деякі команди, не викликаючи зовнішній скрипт, а потім повернутися rootдо запуску інших команд? Різновид: #!/bin/bash some commands as root SWITCH_USER_TO user some commands as user including environment variables checks, without calling an external …

2
Різниця при використанні зворотних посилань у подвійних лапках та одинарних лапках у Bash
Чому наступні два виконання відрізняються за результатами? (Мені потрібні подвійні лапки для змінних у моїй можливій команді) $ sudo su -c "echo `cat /root/root_file`" cat: /root/root_file: Permission denied $ sudo su -c 'echo `cat /root/root_file`' Yay, highly classified content!

2
чому бэш не йде під час виходу з циклу, коли передається в підключений до підкоманди?
Чому команда внизу не виходить? Замість виходу цикл працює нескінченно. Хоча я виявив таку поведінку за допомогою більш складної установки, найпростіша форма команди зводиться до наступного. Не виходить: while /usr/bin/true ; do echo "ok" | cat ; done | exit 1 Вище немає помилок друку. Кожен '|' - це труба. …

2
Як отримати список усіх дочірніх процесів, породжених сценарієм
Контекст: Користувачі надають мені власні сценарії для запуску. Ці сценарії можуть бути будь-якого типу, як скрипти для запуску декількох програм графічного інтерфейсу, допоміжних служб. У мене немає контролю над тим, як написані сценарії. Ці сценарії можуть бути блокувального типу, тобто виконання чекає, поки всі дочірні процеси (програми, які запускаються послідовно), …


1
Автоматизована взаємодія з Google Chrome
Гаразд SU, у мене веселий горіх тріщить. У мене є 8 екранів, встановлених у рядку, усі підключені до однієї бичачої G5, на якій працює Snow Leopard (так, 4 відеокарти; шириною близько 15 000 пікселів!). Я встановлюю демонстраційну версію, яка використовує 8 вікон браузера Chrome, повністю екранізовані, кожне вказує на іншу …

4
Як правильно відновити налаштування під час запуску сценарію за допомогою "source"?
Я пишу сценарій, який потрібно виконати за допомогою source, оскільки його завдання - модифікувати середовище. Під час сценарію я хочу використовувати set -eтак, щоб будь-яка помилка зупиняла сценарій. Сценарій виглядає приблизно так: #!/bin/bash set -e # do something cd somewhere source anotherScript Проблема в тому, що set -eприродно залишається в …

1
Як зробити так, щоб sed не опустився?
У наступному прикладі sedзбігаються рядки, що починаються з a aабо a, cі друкується перший символ цього рядка ( aабо c): $ echo "ag bh ci dj ek fl" | sed 's/\(a\|c\)./\1/' # Matches lines starting with 'a' or 'c'. output: a bh c dj ek fl Однак лінії, що не …

3
Які команди я використовував би для створення двох дочірніх процесів послідовно?
Я хочу породити два дочірні процеси, але дочекайтеся, коли перший досягне певного моменту його виконання (який можна визначити, вивчивши stdout), перш ніж нерестувати другий. Я не впевнений, які команди Unix братимуть участь у цьому, і мені важко було знайти що-небудь через google через лаконічний та інколи критичний характер імен команд …

2
Маніпулювання рядком datestamp послідовно з форматом дати% Y% m% d
Мені потрібно створити лог-файли, які, по суті, є датами з префіксом yp_ і суфікс .logі номер, який маніпулюється днем: $ touch yp_$(echo "$(date +%Y%m%d)-10" | /usr/bin/bc -l).log $ ls yp_20150912.log # ... ok for today's date. Це прекрасно для сьогодні, але всі пекло перерви вільно, коли номер дня між 01 …

1
cp: не може stat '/ some / path / *': Немає такого файлу або каталогу
Мій код сценарію: var="/some/path" cp "$var*" "/another/path" Потім він кидає: cp: cannot stat '/some/path/*': No such file or directory Я спробував це і отримав ту ж помилку: cp "${var}*" "/another/path" Нарешті, я вирішив цю проблему: cp "$var"* "/another/path" Цього разу команда виконана успішно, але я хотів би знати ЧОМУ. Не …

1
Автозавершення, специфічне для сценарію в оболонці
Я створюю багато маленьких скриптів, які допомагають мені у щоденному житті. Я хотів би надати їм автозаповнення, особливо якщо я маю намір поділитися ними з людьми. Тепер, я знаю, що я можу створити автозаповнення функцій, які отримуються при вході, але заради елегантності та портативності я прагну забезпечити автозаповнення всередині самого …

0
Чи є спосіб увімкнути нечітке автоматичне завершення Bash, як у Intellij?
Я багато використовую Intellij, і одна з особливостей, які мені подобаються, - це автоматичне завершення. Зверніть увагу, як ви можете пропускати літери у своєму введенні, і він здогадується, що ви хочете, виходячи з цих літер: Чи є спосіб увімкнути такий вид автоматичного завершення в Bash? У мене включено bash-завершення, але …

2
Як використовувати скрипт Bash для пошуку файлів .mov рекурсивно та перетворення їх у .mp4 за допомогою ffmpeg
Я працюю над системою Mac у відеокомпанії, де мені потрібно очистити багато папок і папок, що містять великі проміжні відеофайли. Тому я шукав спосіб пакетного перетворення багатьох .mov-файлів у файли h.264 .mp4 за допомогою ffmpeg. Я знайшов кілька кодів, щоб зробити пакетне перетворення за допомогою сценарію, подібного до for f …

1
Чому заміщення команд не працює у фігурних дужках, а замінює її фактичною кількістю робіт?
Я використовую таку команду, щоб спробувати досягти максимальної кількості ядер на моєму сервері: for i in {1..`nproc --all`}; do while : ; do : ; done & done З якоїсь причини він використовує лише одне ядро, навіть якщо мій сервер має два. Якщо я намагаюся замінити `nproc --all` с 2, …

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