Читайте список серверов для пользователя?

Этот комментарий о «других администраторах» "намекает, что у вас есть права root в системе, в которой вы хотите сохранить файл. Все, что вы могли настроить в качестве разрешений, может быть отменено кем-то с такими же привилегиями.

Если это не проблема, и никто не имеет расширенных привилегий, вы можете просто поместить файл в / tmp или / var / tmp , которые обычно имеют t -bit set (запрещает другим не привилегированным пользователям удалить его. Вы можете изменить файл, чтобы сделать его доступным для записи в группе (и изменяемым другими в той же группе).

1
26.07.2018, 19:34
2 ответа

Вы можете

servers=()                     # declare an empty array
# allow empty input or the string "END" to terminate the loop
while IFS= read -r server && [[ -n $server && $server != "END" ]]; do
    servers+=( "$server" )     # append to the array
done
declare -p servers             # display the array

Это также позволяет пользователю вручную вводить записи или выполнять перенаправление из файла.

0
28.01.2020, 00:31

Сценарии или программы очень редко просят пользователя в интерактивном режиме предоставить список элементов (, эффективно действуя как текстовый редактор для бедняков без отмены ).

Сценарии или программы гораздо чаще читают списки элементов из подготовленного файла:

#!/bin/sh

while IFS= read -r item; do
    printf 'The item given by the user is %s\n' "$item"
done

Затем этот скрипт будет использоваться как

$./script.sh <myfile

, где myfile— текстовый файл со строками, которые скрипт будет читать и с ними что-то делать.

Запуск этого скрипта без входного файла был бы возможен. Тогда ввод нужно будет вводить вручную. Чтобы сигнализировать об окончании этого ручного ввода, нужно нажать Ctrl+D .

0
28.01.2020, 00:31

Теги

Похожие вопросы