انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: abdossamad2003 در 27 دی 1398، 09:47 ق‌ظ

عنوان: echo
ارسال شده توسط: abdossamad2003 در 27 دی 1398، 09:47 ق‌ظ
با سلام خدمت دوستان

setenv a '$n'
setenv n 15
echo $a


خروجی برنامه
$n
ولی انتظار داشتم که مقدار ۱۵ بدهد.
آیا باید شکل دستور echo را تغییر بدهم؟
در پوسته csh هستم.
عنوان: پاسخ : echo
ارسال شده توسط: هومان در 27 دی 1398، 09:54 ق‌ظ
فک کنم یا باید در اولی کوتیشن نزاری یا باید اولی و دومی رو جا به جا کنی یا هردو
عنوان: پاسخ : echo
ارسال شده توسط: esmaeelE در 28 دی 1398، 01:08 ق‌ظ
به ترتیب دستورات دقت کنید.
#!/bin/csh

setenv n 15
setenv a $n
echo $a

واضحه که باید پوسته csh نصب باشه.
sudo apt install csh
عنوان: پاسخ : echo
ارسال شده توسط: abdossamad2003 در 29 دی 1398، 10:48 ب‌ظ
با تشکر
یک اسکریپت طولانی نوشتم که باید اول a تعریف شود setenv a '$n' بعد n تعریف شود.
یعنی دنبال روشی هستم که بدون جابجایی دستورات پاسخ دهد.
عنوان: پاسخ : echo
ارسال شده توسط: esmaeelE در 30 دی 1398، 03:36 ق‌ظ
یعنی یه همچین چیزی؟
#!/bin/csh

set a = n
setenv n  15
eval echo \$$a

لینک:
https://stackoverflow.com/a/19997816/7508077