الأمر آر يسبب مشاكل في سيغوين باش.إكس شل, لكنه يعمل في مينتي.إكس

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

  •  11-12-2019
  •  | 
  •  

سؤال

يمكنني استخدام ويندوز مع سيغوين.يجب أن يخرج الأمر التالي عدد تكرارات ' / 'في السلسلة"./ بوتسترب3.سيارة أجرة".وهو يعمل عند استخدام مينتي.إكس شل والمخرجات "1":

echo ./bootstrp3.cab | tr -cd / | wc -c

للأسف فإنه يخرج الرسالة التالية مع باش.إكس شل

Usage:
tr [-cs] string1 string2
tr -s[-c] string1
tr -d[-c] string1
tr -ds[-c] string1 string2

ويبدو أن القذيفتين تتصرف بشكل مختلف ، ولكن كلاهما يبدو أن نفس النوع من قذيفة ، لأنه عندما كنت echo $0, ، باش.مخرجات إكس bash و مينتي.مخرجات إكس -bash.

حاولت أيضا الأمر مع قذيفة بورن (ش.إكس) ، لكنه يخرج نفس الرسالة كما هو الحال مع باش.إكس شل.

لا أحد يعرف كيف يمكنني الحصول على الأمر العمل مع ش.إكس أو باش.إكس شل?وهل يعرف أحدهم لماذا تتصرف قذيفتا باش بشكل مختلف?

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

المحلول

يمكنك أن تفعل الشيء نفسه باستخدام sed و wc:

echo -n ./bootstrp3.cab | sed 's![^/]!!g' | wc -c
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top