ファイル名を入力するエイリアスを作成し、ファイルが規則的で読み取り可能であることを確認したら、ファイルをバックアップcp -i
フォルダにコピーします。$HOME/Backup
私はUNIXに初めて触れたので、これを完了するのに少し難しいことがあります。これは私のコードです。
alias getname='read filename'
alias vfile='getname; if [ ! -f $filename ]; then echo "Irregular file"; (exit 1); elif [ ! -r $file ]; then echo "Not readable"; (exit 2); fi;'
alias backup='vfile; if [ vfile ]; then cp -i $filename $home/Backup; fi;'
エイリアスをテストしたvfile
結果、正しく機能します。発生したエラーは次のとおりです。
-bash: syntax error near unexpected token ';'
最初の操作でこれを実行すると、このエラーが発生し始めました。 ifステートメントの前に実行vfile
しないと、最後の実行のファイル名が使用されます。コピーする前にエラーが発生していないことをvfile
確認してください。vfile
最初のコマンドを追加する前に、vfile
次のエラーが発生します。
cp: cannot create regular file '/Backup/*': No such file or directory
しかし、私のホームフォルダにBackupというディレクトリがあり、その原因が何であるかわかりません。
ベストアンサー1
エイリアスvfile
はで終わり、;
エイリアスはbackup
で始まりますvfile;
。したがって、;
2つの連続したsの間にステートメントはなく、これは許可されません。
$ echo ; ;
bash: syntax error near unexpected token `;'
;
最後のものを削除してくださいvfile
。