bash -p ショー
"x\000": self-insert
おそらくスペルエラーのためです。
修正するには、一般バインディングコマンドを使用してください。
bind "x":self-insert
または
bind '"x":self-insert'
効果はありません。だから私は次のように間違ったバインディングを削除しようとしました:
bind -r "x\000"
何の影響もありません。
私は引用符とバックスラッシュ、$ '\ x00'などを使ってすべてのバリエーション( '\ 0')を試しました。
bind -r "x"'\0'
成功しませんでした。
しかし、最初の解決策は次のとおりです。
bind -r ' "x" "$(echo -n -e "\x00")" '
2番目の同じ場合は動作しません。
2番目のケースは通常のコマンドによるものです。
bind '"x":self-insert'
再びbash -pが表示されます。
"x\000": self-insert
本当に確実な方法はありませんか?
=====
==修正済み2022.12.08 16:05
ありがとうございます。しかし、物を失わないようにシェルを閉じないようにする方法が必要です。
。 inputrcやその他の起動ファイルは影響を受けません。
私の答えで提案されたソリューションを使用すると、不要なバインディングが正常に削除されました。
今問題は、新しい正しいバインディングを作成する方法です。
でも
bind "$(echo -n -e "\0170")":self-insert
WYSIWYGはありません。私がするすべてのことは次のようになります。
bash -p ショー
"x\000": self-insert
あなたはそのような破損したケースがないので、助けを求めることはできません。
(私はこれが別のバッシュ狂気かどうかを推測する勇気がありません)
挨拶
アントン・ベッセル
答え1
解決策は
bind -r "x" "$(echo -n -e "\x00")"
なぜ質問しますか?
bind '"x":self-insert'
再びbash -pが表示されます。
"x\000": self-insert
まだ解決されていません。その理由は、このコマンドに文字通り「x」を入力せず、8進数または10進数で入力するためです(16進数には「x」が含まれているため動作しません)。
10進数に「x」を挿入する方法を試しています。