在linux中获取当前目录以进行参数

时间:2013-06-29 20:40:05

标签: linux

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

#!/bin/bash


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

check_file pwd

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

4 个答案:

答案 0 :(得分:8)

PWD变量完全符合您的要求。 因此,只需将pwd替换为$PWD,即可完成

答案 1 :(得分:4)

要执行命令并在脚本中将其输出用作参数,只需使用返回引号即可。 在你的情况下,它将是:

check_file `pwd`

答案 2 :(得分:3)

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

$PWD

(但PWD也会有效,因为shell会保留{{1}}变量,请参阅Posix shell)。

另请阅读advanced bash scripting guide(可以批评,但这是一个好的开始)。

答案 3 :(得分:0)

$ PDW
当前工作目录存储在名为$ PWD

的变量中
check_file()
 {
  for f in "$(ls $PWD)" 
   do
    echo "$f"
    done
 }
check_file

显示完整的工作目录名称

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