我在我的脚本中使用了命令alias filecreate='touch $1'
,在filecreate as custom命令的帮助下,在我目前的工作目录中创建了一个新文件。但是当我执行脚本时,它显示错误。另外,如何使命令接受2个参数,一个是文件名,另一个是路径名。
答案 0 :(得分:3)
alias filecreate=touch
或其功能等同于:
filecreate(){ touch "$@"; }
将接受任意数量的参数并将其传递给touch
。
位置参数扩展通常不属于别名,因为别名与函数不同,不会获得自己的位置参数数组。 别名是简单的文本扩展。
你的
alias filecreate='touch "$1"'
像这样跑:
filecreate SomeFile
只会扩展到
filecreate "$1" SomeFile #$1 comes from the caller
这与函数和脚本不同,函数和脚本都有自己的参数数组。