コマンドを探す私の変数を使いたい

コマンドを探す私の変数を使いたい

ユーザー入力に基づいて、新しいディレクトリとコピーするディレクトリの内容を作成するスクリプトがあります。今ここに問題があります。古いファイルを特定の名前に変更し、新しい名前に置き換える find コマンドがあります。うまくいきますが、設定した文字列を変更する代わりに、私が作成した変数を使用したいのですが、それを行うことができないというエラーが発生し続けます。

#Creates Directory
echo "Name of New Directory"
read userInput
if [[ -n "$newdir" ]]
then
  mkdir $newdir
fi
echo $newdir Directory Created
echo 
echo "Directory you wish to Copy?"
read copydir
if [[ -n "$copydir" ]]
then
#Copies contents of Specified Directory
 cp -R $copydir/!(*.UNC) $newdir;

#Searches through directory  
find $newdir/ -name "$copydir*" -exec bash -c 'f="$1"; mv "$f" "${f/sppark/work}"' - {} \;


fi

したがって、Findコマンドでspparkとworkの代わりにnewdirとcopydir変数を使用したいと思います。

ベストアンサー1

私はそれを見つけ、私が望むものに代わるためにforループとmvを使用しました。

    #Searches through directory  
for file in $newdir/$copydir*; do
#Changes Part of File Name
mv -- "$file" "$(echo ${file}|sed 's/'$copydir'/'$newdir'/')"
done

おすすめ記事