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

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

5
Як визначити та завантажити власну функцію оболонки в zsh
Мені важко визначити та запустити власні функції оболонки в zsh. Я слідував інструкціям з офіційної документації і спробував спочатку простий приклад, але мені не вдалося змусити його працювати. У мене папка: ~/.my_zsh_functions У цій папці у мене є файл з ім'ям functions_1з rwxправами користувача. У цьому файлі у мене визначена …
54 shell-script  zsh 

4
Виконайте команду перед відключенням
Я хочу виконати просту команду перед тим, як комп'ютер вимкнеться (терміни не є істотними). Для запуску я можу використовувати /etc/rc.local; чи є щось подібне для відключення? Зауважте, що я все одно хотів би використовувати вбудовану кнопку вимкнення з меню; тобто я не хочу використовувати користувальницький скрипт щоразу, коли вимикаюсь через …

14
Який найпростіший спосіб знайти місцевий порт, що не використовується?
Який найпростіший спосіб знайти місцевий порт, що не використовується? В даний час я використовую щось подібне до цього: port=$RANDOM quit=0 while [ "$quit" -ne 1 ]; do netstat -a | grep $port >> /dev/null if [ $? -gt 0 ]; then quit=1 else port=`expr $port + 1` fi done Це …

5
Визначення того, чи файл є твердим або символічним посиланням?
Я створюю скрипт оболонки, який би переніс назву / шлях до файлу і визначив, чи файл є символічним або жорстким посиланням. Єдине, я не знаю, як зрозуміти, чи є вони жорсткою ланкою. Я створив 2 файли, одне тверде посилання та одне символічне посилання для використання в якості тестового файлу. Але …

4
Чи варто дбати про зайвих котів?
Багато утиліт командного рядка можуть приймати свій вклад або з труби, або як аргумент імені файлу. Для довгих сценаріїв оболонки я вважаю, що запуск ланцюга з допомогою catробить його більш читабельним, особливо якщо для першої команди знадобляться багаторядкові аргументи. Порівняйте sed s/bla/blaha/ data \ | grep blah \ | grep …


1
Яка різниця між цитатами "...", "...", $ "..." і $ "..."?
Іноді я бачу сценарії використовувати всі ці різні способи процитувати текст: "...", '...', $'...', і $"...". Чому використовується стільки різних видів цитат? Вони поводяться по-різному чи впливають на те, що я можу зробити всередині них?

4
Як я можу повністю видалити елемент із масиву?
unset array[0]видаляє елемент, але все-таки якщо я echo ${array[0]}отримаю нульове значення, крім того, є й інші способи цього зробити, але якщо елемент масиву містить пробіли, як нижче array[0]='james young' array[1]='mary' array[2]='randy orton' але вони також не справляються із завданням array=${array[@]:1} #removed the 1st element тепер я хочу, щоб новий масив …


4
Чому (вихід 1) не виходить із сценарію?
У мене є сценарій, який не виходить, коли я цього хочу. Приклад сценарію з тією ж помилкою: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Я б припустив побачити вихід: :~$ ./test.sh 1 :~$ Але я насправді бачу: :~$ ./test.sh …

2
придушити більш строгі повідомлення в баш-скрипті
Розглянемо таку (злегка нерозумно) назву сценарію 'test1.sh': #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep Коли я запускаю його, я отримую не тільки вихід відлуння, але й повідомлення Баша про смерть сну на stderr: $ ./test1.sh sleep pid = 3551 ./test1.sh: line 5: 3551 Terminated sleep …

7
Як я можу загартувати баш сценарії проти заподіяння шкоди при зміні в майбутньому?
Отже, я видалив свою домашню папку (або, точніше, всі файли, до яких я мав доступ для запису). Що сталося, що я мав build="build" ... rm -rf "${build}/"* ... <do other things with $build> у bash-скрипті та, після того, як більше не потрібно $build, видаляючи декларацію та всі її звичаї - …
46 bash  shell-script  rm 

3
Пошук правильного tmp dir на кількох платформах
У мене є сценарій, який повинен створити тимчасові файли для своєї роботи та очистити після себе. Моє запитання - про те, щоб знайти правильний базовий каталог тимчасових файлів. Сценарій повинен працювати на декількох платформах: Git Bash (Windows), Solaris, Linux, OSX. На кожній платформі бажаний тимчасовий каталог виражається по-різному: Windows: %TMP%(і …

13
Який швидкий спосіб командного рядка для перемикання між декількома каталогами для адміністрування системи?
Який швидкий спосіб командного рядка для перемикання між декількома каталогами для адміністрування системи? Я маю на увазі, що я можу використовувати pushd .і popdперемикати, але що робити, якщо я хочу зберігати кратні і переходити через них, а не постійно вискакувати їх у нижній частині стека?

8
Чому обов'язкові утиліти POSIX не вбудовані в оболонку?
Мета цього питання - відповісти на цікавість, а не на вирішення конкретної обчислювальної проблеми. Питання полягає в тому, чому обов'язкові утиліти POSIX зазвичай не вбудовуються в реалізацію оболонки? Наприклад, у мене є сценарій, який в основному зчитує кілька невеликих текстових файлів і перевіряє, чи вони належним чином відформатовані, але на …

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