我尝试用功能:
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
答案 0 :(得分:2)
在为其分配值时,您可以单独编写bash
个变量:
MYLIST=`ls *.txt` # Remember to avoid blanks aroud the "="
但如果您希望bash
展开它们,则必须在它们前面添加$
:
echo $MYLIST # Usually is "safer" to wrap the variable with quotes - echo "$MYLIST"
答案 1 :(得分:1)
您需要预先添加$
来传递变量:
filter-root $myList
此外,您应该传递"$myList"
以防止myList的内容被Bash拆分为令牌......或者您可以使用echo "$*"