文字列変数を使用して、あるパスが別のパス内に存在することを確認したいと思います。
私のスクリプト:
#!/bin/bash
HAYSTACK="/cygdrive/d/var/www/html/adm4"
NEEDLE="/cygdrive/d/var/www/html"
# first try
#grep -q "$NEEDLE" "$HAYSTACK"
#second try
grep -q "${NEEDLE}" "${HAYSTACK}"
if [ $? -eq 0 ] ; then
echo "Your string has been found"
else
echo "Your string has not been found"
fi
結果:
me@localhost ~]$ ./testbash
grep: : No such file or directory
Your string has not been found
これは私がより多くのことをしなければならないので、私は疑います。
ベストアンサー1
Grepにはこの形式のコマンドが必要なので、grep [options] PATTERN [FILE...]
2番目の文字列をスキャンするファイルとして扱います。 1行でstdinに送信できます。
echo $haystack | grep $needle
または好きなように。たぶんここに文字列があるかもしれません。
grep $needle <<< $haystack