问题: 在.bashrc文件中重新创建别名作为函数时,如果函数的名称与别名的先前名称相同,则会发生错误。
详细信息:
我已从.bashrc文件中删除了先前的别名
将函数名称更改为之前未使用的名称时,它可以正常工作
示例:
更改时:
alias npp='(/c/SolsApplications/NotePad++/notepad++.exe &> /dev/null &)'
对此:
npp()
{
if [[ $1 != null ]]; then
('/c/SolsApplications/NotePad++/notepad++.exe' $1 &> /dev/null &)
else
('/c/SolsApplications/NotePad++/notepad++.exe' &> /dev/null &);
fi
}
刷新.bashrc文件时发生以下错误:
bash: /c/Users/Owner/.bashrc: line 33: syntax error near unexpected token `('
bash: /c/Users/Owner/.bashrc: line 33: `npp()'
我尝试了什么:
答案 0 :(得分:3)
别名是简单的前缀扩展。因此,如果您已经提供了别名*size = 0; // init before the loop
while (*size <= 0)
{
std::cin >> *size;
if (*size <= 0) // an error message can be appreciated
{
std::cout << "error on size value" << std::endl;
}
}
,则可以将您的函数定义更改为以下内容:
npp
找到添加此别名的位置并将其删除就足够了。如果您在执行此操作时遇到问题,请在定义函数之前立即取消它:
(/c/SolsApplications/NotePad++/notepad++.exe &> /dev/null &)() {
if [[ $1 != null ]]; then
('/c/SolsApplications/NotePad++/notepad++.exe' $1 &> /dev/null &)
else
('/c/SolsApplications/NotePad++/notepad++.exe' &> /dev/null &);
fi
}
还要考虑使用日志记录启动交互式shell,并查看这些日志,以确定生成别名的位置(它应该来自点文件还是类似的):
unalias npp
npp() {
...
}