我有这段代码:
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
基本上,它将空格后的所有内容视为另一个文件名。如何解决?
答案 0 :(得分:2)
您需要在变量周围使用双引号来防止分词和通配:
for dir in "/Users/vskumar/Dropbox/alexa"/*
do
echo "$dir"
value=`cat "$dir"`
echo value
done