سؤال

أحاول القيام بما يلي في نص باش:

com=`ssh host "ls -lh"`

echo $com

إنه يعمل ، لكن الصدى سيقوم باكتساب الإخراج (بدلاً من الحصول على جميع الخطوط في العمود ، أحصل عليها جميعًا على التوالي).

إذا فعلت: ssh host ls -lh في CLI ، سوف يعطيني الإخراج والتخطيط الصحيحين.

كيف يمكنني الحفاظ على التصميم عند صدى المتغير؟

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

المحلول

انت تحتاج:

echo "$com"

عروض الأسعار تجعل القشرة لا تقسم القيمة إلى "كلمات" ، ولكنها تمرها كوسيطة واحدة echo.

نصائح أخرى

ضع اقتباسات مزدوجة حول $ com:

com=`ssh host "ls -lh"`
printf "%s" $com | tr -dc '\n' | wc -c   # count newlines
printf "%s" "$com" | tr -dc '\n' | wc -c
echo "$com"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top