シェルスクリプトでコマンドが見つかりません

シェルスクリプトでコマンドが見つかりません

スクリプトでscp使用せずにコマンドを実行する必要があります。expect

scpをパスワードで使用するには?次のコードを試しました。

HOST=lnx1
USERNAME=user
PASSWORD=pwd
PATH=/sample/data/
FILE=$1
scp $FILE $USERNAME:'$PASSWORD'@$HOST:$PATH       
sshpass -p '$PASSWORD' scp $FILE $USERNAME@:$PATH

エラーメッセージ:

scp: command not found
sshpass: command not found

これをどのように実装しますか?

ベストアンサー1

PATH変数をに設定しました/sample/data。変数の前の内容をPATH上書きしました。そのため、スクリプトはそのエントリを見つけ/sample/dataましたが見つからず、エラーメッセージが表示されますscpsshpass

PATH変数名を別の名前に変更してみてください。たとえば、次のようになります。

REMOTE_PATH=/sample/data/

scp $FILE $USERNAME:'$PASSWORD'@$HOST:$REMOTE_PATH

sshpass -p '$PASSWORD' scp $FILE $USERNAME@:$REMOTE_PATH

それでも機能しない場合は、フルパス名をscpスクリプトに入力してみてくださいsshpass

おすすめ記事