Почему изменение настроек tty для одного файлового дескриптора влияет на другой?

чего вы пытаетесь достичь? Чтобы узнать исполняемые скрипты, используйте следующую команду

find . -type f -perm /u+x,g+x,o+x | while read file
do
    filename=$(echo ${file} | awk -F/ '{print $NF}')
    echo "File Name : ${filename}"
done

Если вы пытаетесь добавить Hello World после строки shebang, то ваша команда sed должна быть

 sed '/\#!/bin/bash/a Hello Word' ${file}

если вы хотите внести изменения в сам файл, то добавьте -i в команду sed

2
10.07.2017, 02:38
1 ответ

Вы меняете атрибуты устройства, а не дескриптор файла. Дескриптор файла — это просто способ определить, о каком устройстве идет речь. Если и stdin, и stdout являются одним и тем же tty (/dev/pts/0, например ), то не имеет значения, какой из них вы используете для tcgetattrи tcsetattr.

Поскольку эхо по определению включает в себя ввод и вывод, трудно представить, что может означать, что эхо будет включено для ввода, а не для вывода, или наоборот. Либо драйвер tty будет эхом, либо нет. Была ли у вас цель каким-то образом изменить поведение эха? Если да, скажите, чего вы пытаетесь достичь, и, возможно, кто-то знает, как это сделать правильно.

3
27.01.2020, 22:03

Теги

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