パスワードを使用してファイル名を変更する scp

パスワードを使用してファイル名を変更する scp

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、存在し、すでにディレクトリまたはディレクトリリンクの場合にのみディレクトリとして処理されます。)ターゲットパスの末尾にスラッシュを追加して、常にファイルではなくディレクトリディレクトリとして処理することができます。 。

おすすめ記事