非交互式bash中的别名
我想让别名在非交互式bash中工作。我运行以下命令:非交互式bash中的别名,bash,alias,Bash,Alias,我想让别名在非交互式bash中工作。我运行以下命令: bash -c "alias toto=ls; shopt -s expand_aliases; alias toto=ls; toto" 我得到以下信息: bash: toto : commande not found 我做错了什么?来自manbash: 执行命令时,别名将展开 读取,而不是在执行时读取。因此,需要一个别名定义 与另一个命令出现在同一行上不会发生错误 在读取下一行输入之前生效 这意味着,即使在交互式shell中 alia
bash -c "alias toto=ls; shopt -s expand_aliases; alias toto=ls; toto"
我得到以下信息:
bash: toto : commande not found
我做错了什么?来自
manbash
:
执行命令时,别名将展开
读取,而不是在执行时读取。因此,需要一个别名定义
与另一个命令出现在同一行上不会发生错误
在读取下一行输入之前生效
这意味着,即使在交互式shell中
alias toto=ls; toto
不起作用。别名定义和调用之间必须有换行符。所以
bash -c 'shopt -s expand_aliases; alias toto=ls
toto'
应该有效。可能的重复: