سؤال

ربما أسهل لشرح مع مثال:

$ echo '\&|'
\&|
$ echo '\&|' | while read in; do echo "$in"; done
&|

يبدو أن الأمر "القراءة" يفسر الخطوط في الإدخال حيث يهرب ويزيلها. أحتاج إلى معالجة خط ملف حسب الخط دون تغيير محتوياته ولست متأكدا من كيفية التوقف عن القراءة من الذكية هنا. أيه أفكار؟

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

المحلول

accrding إلى: http://www.vias.org/linux-knowhow/bbg_sect_08_02_01.html. :

أدرك
إذا تم إعطاء هذا الخيار، لا يعمل Backslash كحرف هروب. يعتبر Backslash جزءا من الخط. على وجه الخصوص، قد لا يتم استخدام زوج الخط الباكسي - NEELLINE كمستمر سطر.

يعمل على جهازي.

$ echo '\&|' | while read -r in; do echo "$in"; done
\&|

نصائح أخرى

يستخدم read -r, ، حسب http://www.ss64.com/bash/read.html.:

أدرك
إذا تم إعطاء هذا الخيار، لا يعمل Backslash كحرف هروب.

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