私はどこでも検索しました。エコーして印刷してみました。一重引用符と二重引用符を試しました。しかし、私はデータを解析してそれを変数に割り当てたので、その中に変数があるかどうかを評価したいと思います。次に、変数をワイルドカードに置き換えて、ファイルを検索します。
例:
var="file.$DATE.txt"
### Where it goes wrong- Needs to identify that $DATE is within the $var varaible.
test=$(echo "$var"|grep '\$')
if [[ $test ]]
then
### I would use whatever fix is discovered here as well
test=$(echo $test|sed 's/\$[a-zA-Z]*/\*/')
fi
### (Actually pulling from remote machine to local)
cat $test > /tmp/temporary.file
ここに私の多くの失敗のうちの少なくとも1つがあります:
PROMPT> file=blah.$DATE
PROMPT> test=$(echo "$file"|grep '\$')
PROMPT> echo $test
PROMPT>
PROMPT>
私はそれが拡張と関係があることを知っていますが、それをどのように解決するかわかりません。任意の助けいただければ幸いです。ありがとう!
変数が「var」変数内で定義されているかどうかをテストします。入れ子になっています。
—
krmarshall87
私はすぐに(私がする必要があることを最初に気にすることなく)、変数のように見える何かを削除し、ワイルドカードでそれを交換することにより、私のジレンマを回避する方法を発見した:
—
krmarshall87
sed 's/\${*[a-zA-Z0-9_%]*}*/\*/'
$date
?が含まれています。その使用のために:var='file.$DATE.txt'
。varが使用されているときに日付を拡張するには?あなたが求めていることを説明する必要があると私は確信しています。