私の授業では、疑似ゴミ箱フォルダからファイルを「復元」するための Linux スクリプトを作成します。私はこれを行いましたが、うまくいくように見えますが、うまくいきません。代わりに、次のようなエラーが表示されます。
sed: -e 式 #1、文字 2: コマンドの後の余分な文字
しかし、コードのどこにも -e 式を使用していないため、理由がわかりません。しかし、あまりにも長い間コードを見つめていたせいで、私の脳は焼き尽くされているので、私には見えないばかげた間違いにすぎないのかもしれません。どんな助けでも大歓迎です!
これが私のコードです:
#!/bin/sh
if [ "$1" = "-n" ]
then
##if command is used with -n, prompts user to enter a new location for the file
cd ~/my-documents/mydir01/trashbin
restore=`sed "$2" ~/my-documents/mydir01/locations`
name=`basename "$restore"`
echo $name
echo "Enter new location for this file."
read loc
echo $loc
mv -i `"$name" "$newloc"/"$name"`
else
##file will be restored to its previous location
cd ~/my-documents/mydir01/trashbin
restore=`sed "$1" ~/my-documents/mydir01/locations`
loc=`dirname "$restore"`
echo $loc
name=`dirname "$restore"`
mv $1 $name
fi