puttyにコピペすると、行末に改行が含まれていた場合勝手に実行してしまうのですが、実行しないように出来るでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答7件
0
PuTTY 0.63以降とzsh 5.1以降、もしくはbash 4.4以降の組み合わせならば、貼り付けた内容に改行が含まれていても即コマンド実行にならないように出来ます。
PuTTYのバージョン
PuTTY 0.63はかなり昔のバージョンなので、通常はそれより新しいのを使っているでしょうから問題ないでしょう。万一古いバージョンを使っている場合は、セキュリティ的な問題も有りますので最新版に更新して下さい。
zsh 設定
zshではデフォルトで関連する機能が有効になっていますので、シェルとしてzshを使用するだけで、貼り付け内容に改行が含まれていても実行されずに、コマンドラインの編集が可能になります。
bash 設定
bash 4.4 以降でもzshと同じ機能に対応していますが、デフォルトでは有効になっていません。有効にするには ~/.inputrc に以下の行を追加します。
set enable-bracketed-paste on
設定を反映する為、bind -f ~/.inputrc
を実行するか、もしくはログインし直してください。
これで zsh と同様に改行が含まれていてもすぐには実行されなくなります。
詳細
zsh / bash 共に端末の Bracketed Paste Mode という機能を利用しています。
なので Bracketed Paste Mode に対応している端末ならば PuTTY に限らず上記機能が利用できます。
以下の端末がBracketed Paste Modeに対応しています。(おそらく他にも有るでしょう)
- xterm
- rxvt-unicode
- mlterm
- gnome-terminal等のVTE利用端末
- konsole
- Tera Term
- RLogin
- iTerm2
投稿2017/06/13 09:50
総合スコア947
0
別目線で見てみます。
悩んでいることが「文字選択した状態でうっかり右クリックすると、意図しないコマンドをどばどば実行してしまって困る」ということでしたら、Putty設定 → ウィンドウ → 選択パネルにおいて「Window」を選ぶことで、コンテキストメニューを出すように設定できます。
http://the.earth.li/~sgtatham/putty/0.67/htmldoc/Chapter4.html#config-mouse
http://changineer.info/network/terminal_software/windows_terminal_putty.html#i-9
「右クリックしたときにクリップボードに改行が含まれていたら確認ダイアログを出す」とかいうパッチがあったらうれしいかもですね。
投稿2016/08/19 04:05
編集2016/08/19 04:07総合スコア2493
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
私もputtyの愛用者ですが、コピペで、危ういサイトではTeratermを使っています。
間違わないようにクリックペーストですが、同じ要領でwindows のエディタからコピぺしようとして、前回分をペーストしてしまう事は良くやります。
ググルとAutoHotkeyで同様な事ができる様です。私もやってみます。
入れてましたが、改行が無いときでも割り込みかかるんですね。
投稿2016/08/19 08:08
編集2016/08/19 09:08総合スコア4070
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ぐぐった感じでは期待する対応方法は見当たらなそうですが、「確認ダイアログを出す」に近いことをトライされている記事はありました。
http://harahetta.hatenablog.jp/entry/2015/07/06/235626
個人的にはローカル側のテキストエディタに一度ペーストして再度コピーして対応しています。
投稿2016/08/19 04:17
総合スコア580
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
sshの向こう側はbashだろうと想定して回答します。なんかハズしている気もしますが。
$ echo
って入力してから貼り付けると改行があって実行されちゃってもエコーされるだけなので大丈夫でしょう。ただし、;
や ||
や &&
や &
が含まれてるとだめかもしれません。
そのあと $ !*
とすれば、冒頭のechoを取り除いた文字列を実行できます。
$ echo "
って入力してから貼り付けると複数行の改行があっても大丈夫です。
ただし "
があるとダメですし、$ !*
で実行したりはできないです。
$ cat > /dev/null
って入力してから貼り付けると、たぶんなにがあっても大丈夫です。貼り付けたあとに Ctrl-D すれば catコマンドが終了します。貼り付けた文字列は消え去ります。
投稿2016/08/19 01:39
総合スコア2493
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。