1
SIGINTシグナルをトラップしようとするとエラーメッセージが表示されるのはなぜですか?
以下のスクリプトを実行して、lftpを使用してサーバーからファイルを自動的にダウンロードしています。動作するときにエラーメッセージが表示されることを除いて動作します trap: SIGINT: bad trap SIGINTとSIGTERMをINTとTERMに置き換えると機能しますが、同じ目的を達成できるかどうかはわかりません。これはLinux Debian 4.9.2-10にあります。 #!/bin/sh login="login" pass="password" host="server.server.com" remote_dir='~/remote/dir' local_dir="/local/dir" base_name="$(basename "$0")" lock_file="/tmp/$base_name.lock" trap "rm -f $lock_file" SIGINT SIGTERM if [ -e "$lock_file" ] then echo "$base_name is running already." exit else touch "$lock_file" /usr/bin/lftp -p 22 -u "$login","$pass" sftp://"$host" << EOF set sftp:auto-confirm yes set …