Вопросы с тегом «shell-script»

Вопросы о сценариях оболочки, исполняемых файлах, которые интерпретируются оболочкой (bash, zsh и т. Д.).

2
Зачем избегать тривиальных символов в сценарии оболочки?
Я только что открыл устаревший скрипт оболочки (написанный на старом ksh88 на Solaris) и обнаружил, что во всем коде повторяется следующее: [ -f $myfile ] && \rm -f $myfile Убегающий обратный слеш кажется мне странным. Я знаю, что это преднамеренно, так как этот вид (очевидно бесполезный) экранирования повторяется по всему …


7
Баш, если не несколько условий без подоболочки?
Я хочу объединить несколько условий в операторе if if и отменить комбинацию. У меня есть следующий рабочий код для простой комбинации условий: if [ -f file1 ] && [ -f file2 ] && [ -f file3 ] ; then # do stuff with the files fi Это отлично работает. Если …


3
Как этот скрипт гарантирует, что работает только один его экземпляр?
19 августа 2013 года Рэндал Л. Шварц опубликовал этот сценарий оболочки, который должен был гарантировать, что в Linux «работает только один экземпляр []], без условий гонки или необходимости очистки файлов блокировки»: #!/bin/sh # randal_l_schwartz_001.sh ( if ! flock -n -x 0 then echo "$$ cannot get flock" exit 0 fi …

2
Любая команда в моем терминале, которая выходит с ненулевым кодом, закрывает мое окно терминала
Сначала это было немного забавно, как играть в "Bash Roulette" ... но теперь это стареет Любая команда в моем терминале, которая выходит с ненулевым кодом, закрывает мое окно терминала Мне сказали, что, возможно, я где-то set -eустановил сценарий bash, который является источником моего терминала. Я проверил .bash_profile/ .bashrc/, .profileи это …


3
Сравнивая две строки в Bash
У меня есть следующий ifблок в моем скрипте bash: if [ ${PACKAGENAME} -eq kakadu-v6_4-00902C ]; then echo "successfully entered if block!!" fi Выполнение скрипта не входит в мой ifблок, хотя $PACKAGENAMEоно равно kakadu-v6_4-00902C. Что я делаю не так?

4
Как Linux работает со скриптами оболочки?
Для этого вопроса давайте рассмотрим сценарий оболочки bash, хотя этот вопрос должен быть применим ко всем типам сценария оболочки. Когда кто-то выполняет сценарий оболочки, Linux загружает все сценарии одновременно (возможно, в память) или читает команды сценария одну за другой (строка за строкой)? Другими словами, если я выполню сценарий оболочки и …

1
Как работает вилочная бомба?
ПРЕДУПРЕЖДЕНИЕ НЕ ПЫТАЙТЕСЬ ЗАПУСТИТЬ ЭТО НА ПРОИЗВОДСТВЕННОМ МАШИНЕ Читая страницу Википедии по теме, я обычно следую за тем, что происходит со следующим кодом: :(){ :|:& };: выдержка из описания Следующая вилочная бомба была представлена ​​как искусство в 2002 году;56 его точное происхождение неизвестно, но оно существовало в Usenet до 2002 …
22 bash  shell-script  zsh  fork 

9
Сохранить структуру каталогов при перемещении файлов с помощью поиска
Я создал следующий скрипт, который перемещает старые файлы, как определено, из исходного каталога в целевой каталог. Работает отлично. #!/bin/bash echo "Enter Your Source Directory" read soure echo "Enter Your Destination Directory" read destination echo "Enter Days" read days find "$soure" -type f -mtime "-$days" -exec mv {} "$destination" \; echo …

5
Как вывести список файлов и каталогов с каталогами в первую очередь
У меня два вопроса. Во-первых, какая команда перечисляет файлы и каталоги, но сначала перечисляет каталоги? Второй вопрос: я хочу скопировать список файлов в один каталог, но сделать целевой каталог первым именем файла в команде.


2
Код выхода в конце скрипта bash
Я запутался в значении кода завершения в конце скрипта bash: я знаю, что код выхода 0 означает, что он успешно завершился, и что есть еще много кодов выхода (127, если я не ошибаюсь?) Мой вопрос заключается в том, что, когда код завершения 0 отображается в конце скрипта, он принудительно устанавливает …

5
Как мне создать сервис для скрипта оболочки, чтобы я мог запускать и останавливать его как демон?
Я использую CentOS 7, и моя цель - создавать cron каждые пять секунд, но, как я исследовал, мы можем использовать cron только на минуту, поэтому сейчас я создал файл оболочки. hit.sh while sleep 5; do curl http://localhost/test.php; done но я ударил его вручную, щелкнув правой кнопкой мыши. Я хочу создать …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.