問題タブ [quoting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 一重引用符付きの Perl ワンライナー
Perl ワンライナーを使用して SQL ステートメントを作成していますが、一重引用符を含めることができません。
これが私が望むものです: 最初のフィールドを取り、それに引用符を追加します。
いくつかの異なる方法を試しましたが、うまくいきませんでした。
ここに別の興味深い問題があります。
print文で一重引用符を出力していますが、変数に値を代入して出力するとうまくいきません。
Perl のワンライナーで一重引用符と二重引用符を使用するにはどうすればよいですか?
bash - eval、変数、引用符を使用したBashの問題
私はここや他のすべての場所でbashの引用符について読んでいますが、この問題を解決する助けはありませんでした。
問題は、ループでバックアップを実行するための小さなスクリプトがあるということです。
使用しない場合は、の変数にeval
問題があります。$OPTIONS
rsync
しかし、私が使用するeval
場合、問題は変数に行きます$CURRENT_DIR
...
rsyncは次のメッセージを返します:'予期しないローカル引数:/ path / with'
変数を引用するあらゆる方法を試しました$CURRENT_DIR
$CURRENT_DIR
スペースに起因する問題なしに変数を使用できる方法はありますか?
tcl - TCL の一般的な文字列引用
TCLスクリプトの形式で出力を生成するユーティリティ(たまたまPythonにあります)を書いています。Pythonで任意の文字列変数(Unicodeではない)を指定すると、次のようなTCL行を生成したい
... これにより、TCL 変数 ' s
' がその文字列に正確に設定されます。奇妙になりすぎないように、出力を必要以上に乱雑にしたくありません。まともなアプローチは
文字列が空ではなく、英数字のみを含み、いくつかの文字が含まれている場合
.-_
(しかし絶対$"{}\
にそうではない)、そのまま使用できます。印刷可能な文字のみが含まれ、二重引用符や中括弧が含まれていない (およびバックスラッシュで終わっていない) 場合は、単純に囲みます
{}
。それ以外の場合は、 のエスケープと非印刷文字のエスケープを
""
使用した後に前後に置きます。\
"
{
}
\
$
[
]
\nnn
質問: 二重引用符内でエスケープする必要がある文字の完全なセットですか? ドキュメントでこれを見つけることができません。そして、私は何かを見逃しましたか(たとえば、(2)の文字列が \ で終わることはできないことをほとんど見逃していました)。
で引用できる文字列が他にもたくさんあることは知っていますが {}
、それらを簡単に識別するのは難しいようです。また、非印刷文字 (特に改行) は、TCL 出力に文字通り存在することを気にしないのであれば、(2) で問題ないようです。
c - Cプログラム内のbashスクリプトコード
私の問題は次のとおりです:私はこのbashスクリプトを持っています:
このコードを C プログラム内に挿入する必要があります。すべてのスクリプトをシェルで直接テストして1行で書き直そうとしましたが、動作しますが、引用符で問題があり、system()呼び出しのパラメーターとして使用しようとしてエスケープしています。抜け道を教えてもらえますか?
ご協力ありがとうございました
c# - Process.Start、Batch ファイル、Quoting
ブロードバンド接続を自動的に接続および切断するBAT
スクリプトを作成しました。
BAT
スクリプトをクリックすると正常に動作しますが、次のように実行するとProcess.Start
:
netsh は、mbn コマンドが見つからないというエラーを返します。
ファイルを使用する前にBAT
、コマンドを直接開始しました。シェルでは問題なく動作しましたが、使用時に同じエラーが発生しましたProcess.Start
。
なぜこれが私に起こっているのですか?
出力:
C:\Dev\NetworkAdapterTest\NetworkAdapterTest\bin\Debug>netsh mbn connect interface=\"Mobile Breitbandverbindung\" connmode=name name=\"A1 2\" 次のコマンドが見つかりませんでした: mbn connect interface="Mobile Breitbandverbindung" connmode=name name="A1 2".
C:\Dev\NetworkAdapterTest\NetworkAdapterTest\bin\Debug>netsh mbn disconnect interface=\"Mobile Breitbandverbindung\" 次のコマンドが見つかりませんでした: mbn disconnect interface="Mobile Breitbandverbindung"
引用が実際にどのように配線されているかに注目してください。コマンドを直接開始したときにも同じ問題が発生しました。
Visual Studio 2008 でソリューションをコンパイルすると、すべてが意図したとおりに機能します。
質問はもはや関連性がありません。
bash - 引用符/スペースを含むスクリプト引数を渡すにはどうすればよいですか?
notify-finish
任意のコマンドの前に追加できるスクリプトを作成しようとしています。完了すると、次の引数で指定されたコマンドが実行され、コマンドが完了したときにユーザーに電子メールが送信されます。これが私が持っているものです:
これはほとんどの場合機能しますが、引数にスペースが含まれている場合、引用符は削除されます。
実例:
失敗例:
2番目のケースで$@
は、はに展開されrsync -avz -e ssh -c blowfish source user@remote:dest/
、一重引用符が欠落しています。二重引用符でも、。でも機能しません$*
。
他の投稿を読んだ後、コマンドを配列に入れてみましたが、まったく同じ問題が発生します。
これをすべての引数で機能させるにはどうすればよいですか?
shell - 引用されたテキストをファイルからシェル変数に分離するにはどうすればよいですか?
引用されたテキストをファイルからシェル変数に分離するにはどうすればよいですか?
また: で始まる行を無視するにはどうすればよい'#'
ですか?
テキストファイルがあるとしましょう
実行するスクリプトを書きたい
テキストファイルの各行。
簡単にするために、テキスト ファイル内の FULLNAME と MOREDATA は、1 つの単語で構成されている場合でも、常に引用符で囲まれていると想定できます。
シンプルにやってみた
ただし、引用符内の値を単一のシェル変数にグループ化することはありません。
出力は
代わりに、私は取得したい
もちろんmyscript
、元のテキスト ファイルのすべての行に追加して、そのファイルをスクリプトにしたり、それC
を行うプログラムを作成したりできます...
bash - 変数を展開した後、Bashでファイルコンテンツを取得します
catファイル
猫のスクリプト
。/脚本
「$VAR」ではなく、変数の実際の値を取得したいのですが。より弱い引用を取得するにはどうすればよいですか?どうもありがとう!
macros - Clojure マクロの引数に強制的に名前空間を取得させる
GridBagLayout ベースの JPanels の構築を支援する Clojure マクロに取り組んでいます。マクロ内のデフォルト マップで Java クラスを名前空間修飾に取得できますが、引数として渡されたものは取得できません。逆引用符、引用符、チルダ、またはその他の魔法の組み合わせが必要ですか?
Insets
デフォルトマップで定義されたを使用すると、次のように修飾されます(「シンボルキャプチャ」ではありません) (java.awt.Insets ...)
:
しかし、引数として渡すと、そうではありません:
私は単に執着者になろうとしているのではありません。GridBagConstraints
適切なコンストラクターが見つからないというコンパイラ エラーが発生します。
linux - SSH 使用時の引用符のエスケープ
PHP アプリ用の簡単なデプロイ スクリプトを作成しようとしています。この作業にはいくつかのツール (Capistrano、Phing など) があることは知っていますが、単純な展開ルーチンの場合、それらは大変な作業のように思えます。
パスワードを何度も入力するのを避けるために、 sshpassを使用しています。しかし、圧縮されたインストーラーをアップロードした後、サーバーに ssh していくつかのコマンドを実行する必要があります。そのうちの 1 つが sed です。だから、引用符は私のスクリプトを壊しています。それは次のようなものです:
ご覧のとおり、二重引用符を使用して SSH ステートメントを開始していますが、sed でも二重引用符を使用する必要があります。
どんな提案でも大歓迎です。ありがとう!