0

私は関数でそれをやろうとしました:

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
4

2 に答える 2

2

bash変数に値を代入するときは、変数を単独で記述します。

MYLIST=`ls *.txt` # Remember to avoid blanks aroud the "="

ただし、それらを展開したい場合bashは、それらの前に a を追加する必要が$あります:

echo $MYLIST # Usually is "safer" to wrap the variable with quotes - echo "$MYLIST"
于 2012-09-01T11:45:55.310 に答える
1

$変数を渡すには、先頭に a を追加する必要があります。

filter-root $myList

また"$myList"、myList の内容が Bash によってトークンに分割されるのを防ぐために as を渡す必要があります ... または使用できますecho "$*"

于 2012-09-01T11:34:20.650 に答える