以下のように予想通りスクリプトを作成しました。 cdコマンドに日付を変数として指定したいが、日付をコマンドに変数として指定すると、「」コンマが追加され、次のようにエラーが表示されます。そのコンマをどのように削除しますか?
#!/usr/bin/expect
#!/bin/bash
set DATE [exec date +%c]
set DATE2 [exec date +'%Y%m%d']
log_user 0
log_file -a /lch/portal/scripts/sftpcheck21/log/sftpcheck21.log
send_log "test ran on $DATE \n"
spawn sftp -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -o "Port=8022" [email protected]@sftapx21
expect "[email protected]@sftapx21's password:"
send "London@123\n"
expect "sftp>"
send "cd /PIMCOXXX_FDM/SwapClear/$DATE2\n"
expect "sftp>"
send "lcd /lch/portal/scripts/sftpcheck21\n"
expect "sftp>"
send "get 'P-PSWC-PIMCOXXX_FDM-$DATE2-233518_$DATE2_REP000F1d - Trade Level Pricing_ 1.TXT'\n"
expect "sftp>"
send "exit\n"
interact
log_file
出力は次のとおりです
sftp> cd /PIMCOXXX_FDM/SwapClear/'20220130'
Couldn't canonicalize: No such file or director
ベストアンサー1
一重引用符は、ExpectまたはTclでは特に意味がありません。通常シェルはその項目を削除しますしかし、Tclはそうではありません。
予想日を取得するいくつかの組み込み方法があります。