كيف أقوم بتضمين المعلمات في الاسم المستعار للباش؟[ينسخ]

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

  •  10-07-2019
  •  | 
  •  

سؤال

هذا السؤال لديه بالفعل إجابة هنا:

تحاول إنشاء:

alias mcd="mkdir $1; cd $1"

الحصول:

$ mcd foo
usage: mkdir [-pv] [-m mode] directory ...
-bash: foo: command not found

ما الخطأ الذي افعله؟

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

المحلول

يمكن للاسم المستعار استبدال الكلمة الأولى من الأمر فقط بنص عشوائي.لا يمكن استخدام المعلمات.

يمكنك بدلاً من ذلك استخدام دالة shell:

mcd()
{
  test -e "$1" || mkdir "$1"
  cd "$1"
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top