有, 在我的bash脚本中,我定义了一个命令行函数:
var els = document.getElementsByClassName("myclass");
Array.prototype.forEach.call(els, function(el) {
// Do stuff with the element
console.log(el.tagName);
});
源〜/ .bashrc后
当我输入时:rep() {
find ./ -type f -exec sed -i -e 's/$1/$2/g' {} \;
}
它不起作用。有谁知道这里发生了什么?
答案 0 :(得分:4)
sed 's/$1/$2/g'
周围的单引号阻止bash将$1
和$2
函数参数评估为字符串 - 您的命令现在将在其中交换带有$1
的文件$2
。
请尝试使用双引号。
rep() {
find . -type f -exec sed -i -e "s/$1/$2/g" {} \;
}