マップされたドライブのディレクトリ内のファイルセットを解析しようとしています。ただし、サブディレクトリパスの空白が原因であるように見える問題を解決できないようです。どんな助けでも大変感謝します!ありがとうございます。
#!/bin/bash
FILES=/home/user/.gvfs/analysis\$\ on\ server.university.edu/users/username/m/BED_files/*
#FILES=/home/user/Desktop #this works
for f in "${FILES}"
do
echo $f
done
ベストアンサー1
引用符も使用している場合は、ワイルドカードを変数の一部として使用することはできません。 @jasonwryanが提案した配列変数構文は、ループが実行されるのではなく、配列が初期化されたときにディレクトリの内容を確認します。
#!/bin/sh
DIR='/home/user/.gvfs/analysis$ on server.university.edu/users/username/m/BED_files'
for f in "$DIR"/*
do
echo "$f"
done
変数にワイルドカードを定義する必要がある場合は、別の変数に入れてください。
#!/bin/sh
DIR='/home/user/.gvfs/analysis$ on server.university.edu/users/username/m/BED_files'
FILES='*.txt'
for f in "$DIR"/$FILES
do
echo "$f"
done