scpコマンドを実行してファイルの名前を変更する必要があります。
次のコードを試しました。
HOST=lnx25
USERNAME=ngqa
PASSWORD=xxxxx
FILE=$1
FILE_NAME=`echo $FILE | awk 'BEGIN{FS="/"} {print $NF;}'`
todayDateVar=`date | awk 'BEGIN{FS=" ";OFS="_"} {print $2,$3,$6;}'`
REPORT_HOME="/dnbusr1/ngqa/scp_script/new/"
DES_PATH="/ngdata/nc_donotdelete/test_out_files/$FILE_NAME.$todayDateVar"
scp $FILE $USERNAME:"$PASSWORD"@$HOST:sys_config $DES_PATH
結果:(./scp.shsample.objを使用して実行)
/ngdata/nc_donotdelete/test_out_files/sample.obj.Sep_23_2014: No such file or directory
このエラーは、その名前で使用できるディレクトリがないことを示すようです。しかし、ファイル名を変更せずに試すたびに正常に動作することを意味します。次のコードはファイル名を変更することなく機能します。
DES_PATH="/ngdata/nc_donotdelete/test_out_files"
Sample.objというファイルをターゲットディレクトリにコピーします。ただし、ファイルをコピーして名前を変更する必要があります。
ベストアンサー1
DES_PATH="/ngdata/nc_donotdelete/test_out_files/$FILE_NAME.$todayDateVar"
うまくいかず、うまくいけばDES_PATH="/ngdata/nc_donotdelete/test_out_files"
それ/ngdata/nc_donotdelete/test_out_files
は存在しないことを意味します。ファイルは/ngdata/nc_donotdelete/test_out_files
次のように保存されます。/ngdata/nc_donotdelete/test_out_files/$1
(対象経路は誰でもディレクトリまたはファイル名でありscp
、存在し、すでにディレクトリまたはディレクトリリンクの場合にのみディレクトリとして処理されます。)ターゲットパスの末尾にスラッシュを追加して、常にファイルではなくディレクトリディレクトリとして処理することができます。 。