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

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

4
Як зупинити запуск сценарію, якщо він не root (і відлуння "Не працює як root! Вихід ...")
Ось моє джерело: #!/bin/bash echo "Running script to free general cached memory!" echo ""; echo "Script must be run as root!"; echo ""; echo "Clearing swap!"; swapoff -a && swapon -a; echo ""; echo "Clear inodes and page file!"; echo 1 > /proc/sys/vm/drop_caches; echo ""; Він очищає кеші та інше, …


2
Як отримати ім’я користувача, який виконав сценарій bash як sudo?
Я хочу створити bash-скрипт, який повинен бути виконаний за допомогою sudo, але повинен враховувати ім’я користувача, який його не виконав. Тож якщо користувач bobпрацює, sudo ./myscript.shя хотів би myscript.shзнати, bobхто його виконав. Давайте заглянемо всередину myscript.sh: USER=$(whoami) # Do something that takes into account the username. Як я можу знати …

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

3
Додавання стовпця значень у файл з обмеженими вкладками
Як я можу додати стовпчик значень у файл, який має певну кількість рядків. У мене вхідний файл такий: Вхідний файл: SPATA17 1 217947738 LYPLAL1 1 219383905 FAM47E 4 77192838 SHROOM3 4 77660162 SHROOM3 4 77660731 SHROOM3 4 77662248 Вихідний файл: SPATA17 1 217947738 file1 LYPLAL1 1 219383905 file1 FAM47E 4 …

2
Витягнення рядка, за зразком, у скрипті bash
Скажімо, в басі, припустимо, що у мене є рядок strname: strname="ph7go04325r" Я хотів би витягнути символи між першим "3" символом і останнім "r" символом strname, зберігаючи результат у рядку strresult. У наведеному вище прикладі отримано strresult: strresult="25" Перший "3"символ не обов'язково знаходиться в положенні рядка 8 дюйма strname; то ж …

1
Пара пов'язаних з арифметикою команд, тире, оболонки POSIX, sh, збільшення
Коли до / після збільшення змінної в POSIX Shell, яка різниця між цими двома прикладами. Здається, вони мали б однакові наслідки, але чи використовували б їх по-різному? Коли ви віддасте перевагу одне над іншим? X=$((X+1)) : $((X=X+1))

3
Який інтерпретатор оболонки виконує сценарій без шебанга?
Припустимо, що для мого облікового запису за замовчуванням є zsh, але я відкрив термінал і запустив bash та виконав сценарій з назвою prac002.sh, який інтерпретатор оболонки буде використовуватися для виконання сценарію, zsh чи bash? Розглянемо наступний приклад: papagolf@Sierra ~/My Files/My Programs/Learning/Shell % sudo cat /etc/passwd | grep papagolf [sudo] password …

4
Як я можу використовувати змінну як умову регістру?
Я намагаюся використовувати змінну, що складається з різних рядків, розділених тестом a |як caseтвердження. Наприклад: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac Я хочу , щоб мати можливість ввести fooабо barі виконати першу частину caseзаяви. Однак і те, fooі barвзяти мене …

1
видалити рядки, у яких значення поля менше або дорівнює 3 - sed або awk?
Мені потрібно видалити кожен рядок, який має значення 2 або менше в 8-му полі (стовпці). Мої дані виглядають так: 12-31 Airport 189 379 41 49.70946503 -124.91377258 2 2880 30.8 01-01 AlberniElementary 165 331 16 49.26100922 -124.80662537 4 5760 26.1 01-09 BamfieldMarine 161 323 23 48.83490372 -125.13572693 2 2875 27.4 01-10 …
17 shell  shell-script  sed  awk  grep 

5
Перейдіть у всі підкаталоги та зробіть щось у скрипті оболонки Unix
Я хочу, щоб мій скрипт оболонки відвідував усі підкаталоги в головному каталозі. Зробіть щось у каталогах, надішліть висновок у файл котушки та перейдіть до наступного каталогу. Розглянемо головний Dir = / tmp Sub Dir = ABCD (Чотири підкаталоги)

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


4
Як замінити пробіли у всіх іменах файлів на підкреслення в Linux за допомогою скрипту оболонки?
Я спробував наступний скрипт оболонки, який повинен замінити пробіли з усіх файлів xml for xml_file in $(find $1 -name "* .xml" -type f); do echo "removing spaces from XML file:" $xml_file mv "$xml_file" "${xml_file// /_}"; done Припустимо, у мене є файл xml з ім'ям xy z.xml, то він дає: removing …

4
Як відкрити термінал, розділити на 9 терміналів і переключитися між ними за допомогою одного сценарію?
Я хотів би відкрити термінал, розділити його, щоб сказати 9 частин (3x3) і виконати якийсь баш скрипт. Але для кожної термінальної частини різний сценарій. Це можна зробити за допомогою perl, python або навіть bash? Як я можу переключатися між цими маленькими терміналами, не використовуючи комбінації клавіш? О, до речі, я …

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