| greycat | 
             | 
    
| 
            
 
                Темы:
                
                    15
                
             
            
                Сообщения:
                
                    134
                
             
            
                Участник с: 30 сентября 2016
             
            
         | 
        
            все равно не совсем понятны некоторые детали. Я писал на c++ и имею представление что такое потоки ввода и вывода и аргументы командной строки.Попробовал запустить pacman как вы указалино pacman не стал ждать ввода, а сразу завершился. Как он определил что ввод осуществлялся не через конвейер?Я предполагаю, что в pacman существует проверка значения stdin на несоответствие консольному stdout, но опять же - консоль тоже программа, или у них особые идентификаторы?  | 
    
| vinc | 
             | 
    
| 
            
 
                Темы:
                
                    12
                
             
            
                Сообщения:
                
                    180
                
             
            
                Участник с: 13 июня 2015
             
            
         | 
        
            greycat greycatЕсли вы писали на С и интересуют такие подробности, то лучше самому поэкспериментировать. Например: isatty() 
            
                
            
            
         | 
    
| greycat | 
             | 
    
| 
            
 
                Темы:
                
                    15
                
             
            
                Сообщения:
                
                    134
                
             
            
                Участник с: 30 сентября 2016
             
            
         | 
        
            да, действительно, все крутится вокруг функции isatty(). Я и не слышал о такой, теперь буду знать) Спасибо всем участникам темы)  | 
    
| grayich | 
             | 
    
| 
            
 
                Темы:
                
                    216
                
             
            
                Сообщения:
                
                    1984
                
             
            
                Участник с: 08 января 2009
             
            
         | 
        
            greycatэто синоним `` в баш подобных шелах echo `ls` соответствует echo $(ls)  | 
    
| heider | 
             | 
    
| 
            
 
                Темы:
                
                    0
                
             
            
                Сообщения:
                
                    83
                
             
            
                Участник с: 09 декабря 2015
             
            
         | 
        
            greycatПочему это не стал? Вы набрали команду и нажали Enter, таким образом из стандартного ввода прилетела пустая строка.  | 
    
| greycat | 
             | 
    
| 
            
 
                Темы:
                
                    15
                
             
            
                Сообщения:
                
                    134
                
             
            
                Участник с: 30 сентября 2016
             
            
         | 
        
            heiderЕсли бы pacman ожидал что-либо из стандартного потока ввода, он бы не продолжил свою работу, не встретив \n. По аналогии как и scanf приостанавливает поток, пока не встретит \n . Нажимая Enter в первый раз я всего лишь запускаю программу.  | 
    
| push_sla | 
             | 
    
| 
            
 
                Темы:
                
                    7
                
             
            
                Сообщения:
                
                    65
                
             
            
                Участник с: 21 октября 2016
             
            
         | 
        
            И все встанет на свои места ^.^
            
                
                    
                        Сотрудник техподдержки признался: он хорошо зарабатвыает просто потому, что умеет гуглить быстрее клиентов.
                     
                
            
            
         | 
    
| vasek | 
             | 
    
| 
            
 
                Темы:
                
                    48
                
             
            
                Сообщения:
                
                    11330
                
             
            
                Участник с: 17 февраля 2013
             
            
         | 
        
            greycat Согласно man команда задается как pacman <operation> [options] [targets] где [targets] по существу можно считать потоком ввода данных (stdin) и можно с большой долей вероятности утверждать, что при обработке этого потока возможно 4 варианта 1. [targets] = пакет - обработка происходит без ошибок и pacman установит/удалит данный пакет 2. [targets] отсутствует (pacman -R) - обработка закончится ошибкой error: no operation specified (use -h for help) 3. [targets] указана неверно - ввод данных вообще отсутствует (pacman -R -) - обработка закончится ошибкой error: argument '-' specified without input on stdin 4. [targets] пустая строка - ввод данных пустой (в случае пустого вывода pacman -Qdt, используемого как входной поток в команде pacman -Qdt | sudo pacman -Rsn -) - обработка закончится ошибкой error: argument '-' specified with empty stdin Если дизассемблировать программу pacman, то все эти случаи действительно имеются то есть приведены соответствующие строки, которые вызываются в определенных ситуациях и выводятся при завершении программы.
            
                
                    
                        Ошибки не исчезают с опытом - они просто умнеют
                     
                
            
            
         | 
    
| indeviral | 
             | 
    
| 
            
 
                Темы:
                
                    38
                
             
            
                Сообщения:
                
                    3169
                
             
            
                Участник с: 10 августа 2013
             
            
         | 
        
            vasekВам явно скучно ссылка)) 
                        Ошибки в тексте-неповторимый стиль автора©
                     
                
            
            
         | 
    
| vasek | 
             | 
    
| 
            
 
                Темы:
                
                    48
                
             
            
                Сообщения:
                
                    11330
                
             
            
                Участник с: 17 февраля 2013
             
            
         | 
        
            indeviralДа просто было дольше искать исходники, чем запустить инструмент и найти несколько строк. А если честно, то и не догадался поискать исходники для более детального анализа. 
                        Ошибки не исчезают с опытом - они просто умнеют
                     
                
            
            
         |