Linux 如何将路径传递到函数

Linux 如何将路径传递到函数,linux,shell,Linux,Shell,函数解析路径参数 gzip_files (){ echo 'gzip files' echo $1 } gzip_files '/var/www/bak/*/*' 输出 如何使输出为 gzip files /var/www/bak/*/* 您必须引用$1: echo "$1" gzip_files (){ echo 'gzip files' echo "$@" } 否则,变量的内容将被解释为直接输入,即中的通配符* echo /var/www/bak/*/* 将被展开

函数解析路径参数

gzip_files (){
  echo 'gzip files'
  echo $1
}

gzip_files '/var/www/bak/*/*'
输出 如何使输出为

gzip files
/var/www/bak/*/*

您必须引用
$1

echo "$1"
gzip_files (){
  echo 'gzip files'
  echo "$@"
}
否则,变量的内容将被解释为直接输入,即中的通配符
*

echo /var/www/bak/*/*

将被展开。

您必须引用
$1

echo "$1"
gzip_files (){
  echo 'gzip files'
  echo "$@"
}
否则,变量的内容将被解释为直接输入,即中的通配符
*

echo /var/www/bak/*/*

将展开。

引用变量展开,以防止发生外壳全球化:

gzip_files (){
  echo 'gzip files'
  echo "$1"
}
请注意,如果要使用多个位置参数,则需要使用
$@
引用所有位置参数,而不仅仅是
$1
引用的第一个位置参数:

echo "$1"
gzip_files (){
  echo 'gzip files'
  echo "$@"
}

引用变量扩展以防止发生外壳全球化:

gzip_files (){
  echo 'gzip files'
  echo "$1"
}
请注意,如果要使用多个位置参数,则需要使用
$@
引用所有位置参数,而不仅仅是
$1
引用的第一个位置参数:

echo "$1"
gzip_files (){
  echo 'gzip files'
  echo "$@"
}