获取linux中的当前目录作为参数

获取linux中的当前目录作为参数,linux,Linux,我正在学习Linux脚本,并尝试设置一个函数来查找当前目录中的所有文件。我知道我可以使用ls,但我想知道是否有办法将当前目录作为命令获取并将其传递给参数 #!/bin/bash check_file() { for f in $1: do echo $f done } check_file pwd 这只是打印出pwd:,显然不是它。pwd变量正是您想要的。 因此,只需将pwd替换为$pwd,就可以执行命令并将其在脚本中的输出用作参数,只需使用反引号。 在您的情况下,它将是: c

我正在学习Linux脚本,并尝试设置一个函数来查找当前目录中的所有文件。我知道我可以使用ls,但我想知道是否有办法将当前目录作为命令获取并将其传递给参数

#!/bin/bash


check_file() {
for f in $1: 
do
    echo $f
done
}

check_file pwd

这只是打印出pwd:,显然不是它。

pwd
变量正是您想要的。
因此,只需将
pwd
替换为
$pwd
,就可以执行命令并将其在脚本中的输出用作参数,只需使用反引号。 在您的情况下,它将是:

check_file `pwd`

一个更现代的变体是使用
$(
..
符号(可以在需要时嵌套,并扩展到
$(
和匹配
之间的命令输出),而不是反引号,例如

check_file $(pwd)
(但是,
$PWD
也会起作用,因为shell会维护其
PWD
变量,请参阅)

也请阅读(可以批评,但这是一个好的开始)。

$PDW
当前工作目录存储在名为$PWD的变量中

check_file()
 {
  for f in "$(ls $PWD)" 
   do
    echo "$f"
    done
 }
check_file
显示完整的工作目录名

echo "$PWD"
basename "$PWD"
显示工作目录名称

echo "$PWD"
basename "$PWD"
也可以使用符号*
是当前工作目录中文件列表的捷径

echo *
在它们之间循环

for item in *
 do
  echo "$item"
 done
函数循环通过

check_file()
 {
  for f in * 
   do
    echo "$f"
   done
 }
check_file 
将当前目录名存储在变量中,并在函数中使用它

Var=$(basename "$PWD")

func()
{
 echo $1
}
func $Var