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

13
Как мне удалить привилегии root в скриптах оболочки?

Параметр «--up» в OpenVPN обычно используется для маршрутизации и т. Д. И поэтому он обрабатывается до того, как OpenVPN отбрасывает привилегии root для запуска как никто. Тем не менее, я вызываю сценарии оболочки, которые должны запускаться как непривилегированный пользователь. Как мне это...

13
Почему PGID моего дочернего процесса не является PID родителя?

Поэтому я постоянно читаю, что эта команда должна завершать все дочерние процессы родительского процесса: kill -- -$$ Использование отрицательного идентификатора с командой kill ссылается на PGID, и из примеров, которые я видел, выясняется, что PGID дочерних процессов должен быть PID родительского...

13
Почему я должен дважды убежать от «точки»?

Я знаю, что мы можем избежать специального символа, такого как *(){}$с, \чтобы считаться литералами. Например \*или\$ Но в случае .я должен сделать это дважды, в \\.противном случае это считается специальным персонажем. Пример: man gcc | grep \\. Почему это...

13
Можно ли при запуске сценария оболочки передавать определенные позиционные параметры, не вводя их все по порядку?

Например, если у меня есть скрипт ./foo, который принимает 10 параметров, и я хочу передать только 8-й параметр. В настоящее время я знаю, как это сделать: ./foo '' '' '' '' '' '' '' 'bar' Есть ли более простой / лучший...

13
Инструмент командной строки для «парного» раскрытия всех строк в файле

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

13
разобрать одно поле из массива JSON в массив bash

У меня есть вывод JSON, который содержит список объектов, хранящихся в переменной. (Я не могу выразить это право) [ { "item1": "value1", "item2": "value2", "sub items": [ { "subitem": "subvalue" } ] }, { "item1": "value1_2", "item2": "value2_2", "sub items_2": [ { "subitem_2": "subvalue_2" } ] } ]...

13
Как включить скрипт Python внутри скрипта Bash

Мне нужно включить ниже сценарий Python внутри сценария Bash. Если сценарий bash завершится успешно, мне нужно выполнить следующий сценарий: #!/usr/bin/python from smtplib import SMTP import datetime debuglevel = 0 smtp = SMTP() smtp.set_debuglevel(debuglevel) smtp.connect('192.168.75.1', 25)...

13
Как запустить скрипт оболочки с двойным кликом в CentOS 7

Мне нужно иметь возможность выполнить исполняемый скрипт оболочки ( sh) с двойным щелчком мыши. Я установил флаг исполняемого файла в разрешениях для файла, и все же, когда я дважды щелкаю по нему, он открывается в текстовом редакторе. У меня нет никаких параметров в моем пользовательском...

13
Скопируйте файл и добавьте метку времени

У меня есть две проблемы с моим сценарием, который копирует файлы и добавляет метку времени к имени. cp -ra /home/bpacheco/Test1 /home/bpacheco/Test2-$(date +"%m-%d-%y-%T") Вышеуказанное добавляет в Test2качестве имени файла имя, но я хочу, чтобы оно сохранило имя файла исходного исходного файла,...

13
Сбой systemd при выполнении шага сценария EXEC: в доступе отказано

Я пытаюсь создать службу "Hello World", так сказать. Это называется autologger.serviceи хранится в /usr/lib/systemd/system/autologger.service. Я попытался sudo service autologger start, но systemctlвернул стандарт: Job for autologger.service failed. See 'systemctl status autologger.service' and...

13
Как активировать Virtualenv при запуске скрипта Python?

Я хочу запланировать запуск сценария python с использованием cron на определенные даты, проблема в том, что для того, example.pyчтобы он работал, example-envнужно ли его активировать, есть ли способ заставить example.pyего активировать свою собственную virtualenv всякий раз, когда cron выполняет...

13
Bash Scripting эхо локально в функции

В скриптах bash я стараюсь держать свои переменные локальными для функций везде, где могу, а затем пропускаю то, что мне нужно, из функций, таких как ниже. #!/bin/bash function FUNCTION() { local LOCAL="value" echo "$LOCAL" # return this variable } GLOBAL=$(FUNCTION) echo "$GLOBAL" Но возможно ли...

13
Как я могу получить этот скрипт для выхода из ошибки на основе результата цикла for?

У меня есть сценарий Bash, который использует set -o errexitтак, чтобы в случае ошибки весь сценарий выходил в точке сбоя. Сценарий запускает curlкоманду, которая иногда не может получить нужный файл - однако, когда это происходит, сценарий не завершается с ошибкой. Я добавил forцикл в сделать...

13
Почему «bash -x» ломает этот скрипт?

У меня есть скрипт, который измеряет, как долго выполняется какая-то команда. Ему нужна «настоящая» timeкоманда, то есть двоичный файл, например, в /usr/bin/time(поскольку встроенный bash не имеет -fфлага). Ниже приведен упрощенный скрипт, который можно отлаживать: #!/bin/bash TIMESEC=$(echo blah |...

13
Как запросить пароль в командной строке при использовании sudo в скрипте?

Я использую Trisquel GNU / Linux с GNOME Flashback Desktop Environment. Мне нужно приглашение пароля GUI для пользователя для выполнения команды с sudoв сценарии. Пример рассмотрим следующий скрипт: zenity --question --text="Do you want to install this package?" if [[ $? -eq 0 ]]; then sudo apt-get...

13
Как удалить позиционный параметр из $ @

По сути, я хочу «вырвать» первое вхождение -infиз списка параметров. (Остальные параметры будут переданы другой команде.) Сценарий, который у меня есть, имеет следующую структуру: #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK...

13
Как проверить, присутствует ли какой-либо IP-адрес в файле с помощью сценариев оболочки?

У меня есть скрипт, который генерирует какой-то вывод. Я хочу проверить этот вывод для любого IP-адреса, как 159.143.23.12 134.12.178.131 124.143.12.132 if (IPs are found in <file>) then // bunch of actions // else // bunch of actions // Это fgrepхорошая идея? У меня есть Bash...

13
Есть ли способ для сценария оболочки узнать, какая программа его выполнила?

Есть ли в * nix мире способ для сценария оболочки иметь информацию о том, какая программа его выполнила? Пример: /path/to/script1 /path/to/script_xyz в этом воображаемом сценарии script_xyzбудет иметь информацию о пути ( /path/to/script1) или PID процесса субъекта, который его выполнил. Примечание:...