使用shell脚本读取完整文件名

时间:2017-02-08 01:22:27

标签: shell scripting

我有这段代码:

for dir in "/Users/vskumar/Dropbox/alexa"/*
do
  echo $dir
  value=`cat $dir`
  echo value
done

并且目录中的第一个文件名称如下:

amazon_alexa_february_7__2017_at_0504pm (2).txt

我得到的输出是:

/Users/vskumar/Dropbox/alexa/amazon_alexa_february_7__2017_at_0504pm (2).txt
cat: /Users/vskumar/Dropbox/alexa/amazon_alexa_february_7__2017_at_0504pm: No such file or directory
cat: (2).txt: No such file or directory

基本上,它将空格后的所有内容视为另一个文件名。如何解决?

1 个答案:

答案 0 :(得分:2)

您需要在变量周围使用双引号来防止分词和通配:

for dir in "/Users/vskumar/Dropbox/alexa"/*
do
  echo "$dir"
  value=`cat "$dir"`
  echo value
done