Linux 带有2个命令的别名无法获取输入参数
在Ubuntu18Linux下,我尝试在.bash_别名中设置别名 其中包含2个命令,并读取一个输入参数Linux 带有2个命令的别名无法获取输入参数,linux,shell,Linux,Shell,在Ubuntu18Linux下,我尝试在.bash_别名中设置别名 其中包含2个命令,并读取一个输入参数 alias nd="mkdir $1 && cd $1" 我不喜欢NDQQ,结果是 mkdir: missing operand 我的错误在哪里? 欢迎任何帮助 PD.-我有一个带参数的别名,可以正常工作: alias mira="ps -ef | grep -v grep | grep $1" 我做了mira dhcp,结果还可以 PD2-如果我需要密码 alias
alias nd="mkdir $1 && cd $1"
我不喜欢NDQQ,结果是
mkdir: missing operand
我的错误在哪里?
欢迎任何帮助
PD.-我有一个带参数的别名,可以正常工作:
alias mira="ps -ef | grep -v grep | grep $1"
我做了mira dhcp,结果还可以
PD2-如果我需要密码
alias nd="mkdir $1"
。。。它工作得很好您是否尝试过运行alias nd?输出是
alias nd='mkdir && cd '
这会让你看到出了问题
当你喂蛋壳的时候
alias nd="mkdir $1 && cd $1"
这条生产线的工艺流程;除其他事项外,处理结果是扩展变量$1,该变量在当前环境中为空,如在终端中输入echo$1所示
一句话:alias不是用于此目的的工具。函数就是实现这一点的工具。在shell中运行以下命令,然后nd将执行您想要的操作
nd() { mkdir $1 && cd $1; }
当你这样做的时候
alias nd="mkdir $1"
这说明
alias nd='mkdir '
尾随空间实际上没有任何作用,因此您刚刚为mkdir创建了另一个名称,就像您之前所做的一样
alias nd=mkdir
这就是它起作用的原因