مؤتمر نزع السلاح لا يعمل عند إعادة توجيه الإخراج؟

StackOverflow https://stackoverflow.com/questions/436452

سؤال

وهنا اللغز: هل يستطيع أحد أن يفسر لماذا فشل cd عندما يتم إعادة توجيه الإخراج إلى أنبوب

ومنها مثلا:

james@machine:~$ cd /tmp                          # fine, no problem
james@machine:~$ cd /tmp | grep 'foo'             # doesn't work
james@machine:~$ cd /tmp | tee -a output.log      # doesn't work
james@machine:~$ cd /tmp >out.log                 # does work

والتحقق على OSX، أوبونتو وRHEL.

وأي أفكار؟

تعديل : ليبدو غريبا أنني الأنابيب إخراج cd؟ والسبب هو أنه من وظيفة التفاف الأوامر قذيفة عشوائية مع إدخالات سجل والتعامل مع الإخراج.

هل كانت مفيدة؟

المحلول

عند توجيه الإخراج، فإنه يولد عملية قذيفة الطفل، يغير الدليل في عملية طفل، والمخارج. عندما كنت لا توجيه الإخراج، فإنه لا تفرخ أي عملية جديدة لأنها بنيت في قيادة قذيفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top