Дождитесь ввода с клавиатуры внутри цикла while-read

Это двоичный файл в / usr / sbin - если / usr / sbin / находится в вашем $ PATH, вы можете запустить его следующим образом:

i7z_GUI

В противном случае запустите его, указав префикс полного пути:

/usr/sbin/i7z_GUI

Страницы руководства для i7z_GUI отсутствуют, но на странице руководства для i7z сказано:

i7z необходимо запускать в режиме суперпользователя (root).

Если вы пытаетесь запустить любой из них как пользователь без полномочий root, вам необходимо использовать sudo, например:

sudo i7z_GUI

или

sudo /usr/sbin/i7z_GUI

в зависимости от того, находится ли / usr / sbin в ваш $ PATH или нет.

0
21.05.2018, 20:04
2 ответа

El siguiente código /bin/shabre el descriptor de archivo 3 como una copia de la entrada estándar. Dentro del bucle, read keypresslee desde este nuevo descriptor de archivo, y no desde el archivo introducido en el propio bucle. Al final, el descriptor de archivo se cierra explícitamente.

exec 3<&0
while read -r foo bar baz; do
    printf 'Processing %s, %s and %s\n' "$foo" "$bar" "$baz"
    printf 'Press <enter> to continue: ' >&2
    read keypress <&3
done <file
exec 3<&-

echo 'Done.'

Esto le permite usar, por ejemplo,

yes |./script.sh

para "presionar automáticamente ingrese " en cada solicitud.

3
28.01.2020, 02:32

Introducir un archivo en el ciclo afectará a cada readinstancia en el ciclo a menos que se especifique explícitamente lo contrario. Lo siguiente funcionó:

echo "Press [ENTER] to continue"
read -s < /dev/tty
1
28.01.2020, 02:32

Теги

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