编辑:该示例适用于纯zsh。我用prezto安装不起作用。看起来像是prezto中的一个错误。
我尝试在zsh中将var appsAndScopes=[
['1',['A','B','C','D']],
['2 ',['E','F','G','H']],
['3',['I']],
['4',['J']]
];
function getAllElements(id){return document.getElementById(id);}
function buildDropdowns(){
var applications=getAllElements('application').options; //Gets all applications names from appsAndScopes array.
for(var applicationsIndex=0;applicationsIndex<appsAndScopes.length;applicationsIndex++){
applications[applications.length]=new Option(appsAndScopes[applicationsIndex][0],appsAndScopes[applicationsIndex][0]);
}
getAllElements('application').onchange=function(){
this.blur();
var currentApplication=this.value;
if(!currentApplication){return;}
var scopes=getAllElements('scope').options;
scopes.length=1;
for(var scopesIndex=0;scopesIndex<appsAndScopes.length;scopesIndex++){
if(appsAndScopes[scopesIndex][0]!==currentApplication){continue;}
else{
var temp=appsAndScopes[scopesIndex][1];
for(var valueIndex=0;valueIndex<temp.length;valueIndex++){
scopes[scopes.length]=new Option(temp[valueIndex],temp[valueIndex]);
}
break;
}
}
}
}
$(function() {
buildDropdowns();
});
别名为sponge
。但结果非常令人惊讶。
没有全局别名:
SP
使用全局别名:
❯ echo xxx >! xxx
❯ cat xxx | sponge xxx
❯ cat xxx # non-empty file
xxx
奇怪行为的原因是什么?我怎样才能使它发挥作用?
答案 0 :(得分:0)
你正在用一个参数替换应该是一个管道
cat xxx SP xxx
表示cat现在有3个参数
alias -g SP='sponge'
和
cat xxx | SP
应该给你想要的结果