我试图用函数来做到这一点:
filter-root () {
echo $1 | perl -pe 's/ /\n/g' | perl -pe 's/.*(emacs|libreoffice|autokey|bkubuntu).*//' | perl -pe 's/^\n//'
}
但它不起作用:
$ myList=`git ls-files`
$ filter-root myList
myList
bash
当您为变量赋值时,您单独编写变量:
MYLIST=`ls *.txt` # Remember to avoid blanks aroud the "="
但是如果你想bash
扩展它们,你必须$
在它们前面添加一个:
echo $MYLIST # Usually is "safer" to wrap the variable with quotes - echo "$MYLIST"
您需要预先添加 a$
来传递变量:
filter-root $myList
此外,您应该传递"$myList"
以防止 myList 的内容被 Bash 拆分为令牌......或者您可以使用echo "$*"