Если Вы просто хотите изменить конфигурацию программы, типичный метод выполнения, которое должно обновить его conf файл, то отправьте ему сигнал SIGHUP, на который он программируется для ответа путем перезагрузки его conf файла (см. signal(7)
). Как Coren сказал, у Вас обычно есть хранилище программы ее pid в файле в/var/run, когда это запускается так, можно позже отправить ему сигнал.
При необходимости в более сложной связи с программой Вы захотите использовать или FIFO или сокет домена Unix. FIFO (см. fifo(7)
и mkfifo(3)
) более просто, но демон может только общаться с единственной управляющей программой. Сокеты домена Unix (см. unix(7)
) более сложны для использования, но можно принять соединения от нескольких клиентов.
Не то, чтобы это должно иметь значение, но удаленный путь должен быть /home/username
(единственная наклонная черта вправо). И как спутник, на который указывают, заключите Ваш в кавычки ${1}
с "${1}"
.
Я скопировал ту же команду, и она работает, когда я тестирую ее, таким образом, я подозреваю (данный "не регулярный файл" ошибка), что у Вас есть дополнительное пространство между username@long.server.name.company.com:
и //home/username
.
Другая вещь попробовать состоит в том, чтобы добавить отладку (путем предоставления -v
на команде scp), и видят, дает ли это какой-либо ключ к разгадке:
function to_company()
{
scp -v "${1}" username@long.server.name.company.com:/home/username
}
Вы приближаетесь к этому неправильный путь. Вместо того, чтобы писать обертку оболочки, определите псевдоним хоста в Вашем ~/.ssh/config
.
Host work
Hostname long.server.name.company.com
Username bob
Затем для копирования файла в сервер компании:
scp filename.ext work:
Удаленный путь относительно Вашего корневого каталога, таким образом, work:
означает то же самое как work:/home/username
.
Ваша функция перестала работать при передаче аргумента, который содержит пробел или globbing символы \[?*
. Это легко фиксируется путем помещения расширения параметра в двойных кавычках: "$1"
. Всегда помещайте двойные кавычки вокруг переменной и управляйте заменами.
Другая потенциальная проблема - это //
в начале пути может быть интерпретирован особенно. Обычно последовательные наклонные черты в пути эквивалентны одной наклонной черте, но путь, который начинается точно с двух наклонных черт, имеет особое значение в некоторых системах.
scp
искаженный, что делаетtype scp
сказать? – Drav Sloan 14.08.2013, 22:33-v
на scp (я сделаю это более ясным в моем ответе). – Drav Sloan 14.08.2013, 22:39-v
на scp проливает какой-либо свет на проблему? – Drav Sloan 14.08.2013, 22:49