كيف أقوم بتردد أمر $ دون كسر التصميم
-
30-09-2019 - |
سؤال
أحاول القيام بما يلي في نص باش:
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"
لا تنتمي إلى StackOverflow