問題タブ [backticks]
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 2 回連続してバックティックされたシェル コマンドが実行されない
Amazon ec2 インスタンスを管理するための perl スクリプトを作成しようとしています。コードの一部に 2 つのシェル コマンドがあり、それらを呼び出すと、最初のコマンドは実行されますが、2 番目のコマンドは実行されません。これについての良い説明が見つからないようです。コードは次のとおりです。
ここでの問題は$outp
の出力です$run_instances
。しばらくの間、なぜ間違った出力が得られたのか理解できませんでした。その後、$describe_instances
コマンドが実行されないことに気付きました。
$describe_instances
Linux シェルから呼び出された の値を調べたところ、問題なく動作しました。別の Perl スクリプトから呼び出したところ、問題なく動作しました。
次に、実行$outp
時にキャプチャされる出力を示しました$run_instances
( $outp = "INSTANCE ......"
)。うまくいったので、どういうわけか、これら2つのコマンドを連続して実行すると、2番目のコマンドが実行されないという考えが浮かびました。
もう1つ注意すべきことは、上記のコードをループに入れると、毎回$run_instances
機能しますが$describe_instances
機能しないということです。
あなたがこれについていくつかの光を提供できれば、私は本当に幸せです:)
ありがとうございました
unix - DOS の unix `` (バッククォート) に相当しますか?
重複の可能性:
Bash のバックティックに相当するバッチ
UNIX では、コマンド出力の置換に `` を使用します。
例えば
DOS コマンド プロンプトでこの (``) に相当するものはありますか?
arguments - cp にファイル名のリスト (スペースあり) を送信する方法
Egrep はファイルの内容に基づいてファイルのリストを生成していますが、そのリストを引数として cp に渡そうとして何か間違ったことをしています。(私のシェルは bash です)。ファイル名のスペースをエスケープして改行をスペースに変換すると思っていましたが、cp はパイプ入力でエスケープされたスペースを無視するようです。
ファイル名の例:2011-05-15\ 14.43.41.txt
$ cp `egrep -l "OS\ version: 10.6" * | sed -e 's/ /\ /g' | tr '\n' ' '` ~/crashreportstemp/
cp: cannot stat `2011-05-15': No such file or directory
バッククォートの内容を実行すると、cp に貼り付けることができる出力が得られます。
私もxargsを使ってみました:
$ egrep -l "OS\ version: 10.6" * | sed -e 's/ /\ /g' | tr '\n' ' ' | xargs cp ~/crashreportstemp
しかし、これにより、cp は最後に渡されたファイル名を最後の cp 引数として扱い、cp への明示的な引数を無視します。
cp: target `2011-05-30 16.23.30.txt' is not a directory
私は明らかにこれを行う正しい方法を見落としています。助けてください!
ありがとう - ジェイソン
macros - Common Lisp バッククォート/バックティック: 使い方?
Lisp のバッククォート読み取りマクロに問題があります。逆引用符を埋め込む必要があると思われるマクロを記述しようとすると (たとえば、``(w ,x ,,y)
Paul Graham のANSI Common Lispの399 ページから)、コンパイルできるようにコードを記述する方法がわかりません。通常、私のコードは、「バッククォート内にカンマがありません」で始まる一連のエラーを受け取ります。適切に評価されるコードを作成する方法について、誰かがガイドラインを提供できますか?
例として、現在、次の形式でルールを記述し'(function-name column-index value)
、述語ラムダ本体を生成して、特定の行の によってインデックス付けされた要素column-index
がルールを満たすかどうかを判断するマクロが必要です。rule を指定してこのマクロを呼び出すと'(< 1 2)
、次のようなラムダ本体が生成されます。
これで私ができる最高の刺し傷は次のとおりです。
評価時に、SBCL は次のエラー レポートを吐き出します。
必要なコードを生成するマクロを作成するにはどうすればよいですか? 特に、どのように実装すればよいrow-satisfies-rule
ですか?
Ivijay と discipulus のアイデアを使用して、マクロを修正して、コンパイルして動作するようにし、フォームを引数として渡すこともできるようにしました。row
コードをよりスムーズにするために引数として含めることを決定したため、最初に計画したマクロとは少し異なって実行されます。しかし、それは罪のように醜いです。への呼び出しなしで同じように実行するように、それをクリーンアップする方法を知っている人はいますeval
か?
また、実行時に引数を適切に評価するためのコードを生成するマクロを取得するクリーンで Lispy の方法の説明も大歓迎です。
mysql - Mysqlが構文エラーを出すべきときに出さない
次のクエリで試しています
これにより、構文エラーが発生することはありません(テーブル名の先頭に ` 文字が含まれていないことに注意してください)。そして、データベースには記録されていませんが、常に1としてカウントされます。
クエリから削除すると、エラーが発生COUNT
します。
これが mysql のバグでないことを願っています。
bash - バッククォートをgrepするにはどうすればよいですか?
だから私はファイルでバッククォート (`) を見つけようとしているので、実行しました:
これは、可能なすべてのファイルを返すようです...
他に何を試すことができますか?
bash - バッククォートでのパイプの使用
パイプを使用してコマンドを実行しようとしていますが、エラーが発生します:
コードの何が問題になっていますか?
次のコマンドを実行すると、期待される結果が得られます。
の結果で
php - PHP_CodeSnifferを介してPHPバッククォート演算子の使用法をキャッチする方法は?
CodeSnifferバージョン1.3に付属する「Generic」および「Squiz」コーディング標準からいくつかの「スニフ」を研究し、PHPに固有のコーディングアンチパターンをキャッチするためのいくつかの「カスタム」スニフを作成するのに十分なことを学びました。私が取り組んでいるプロジェクト。
しかし今、上司は、コードがexec()、popen()、passthru()を呼び出すすべての場所を識別するためにツールを使用するか、バッククォート演算子を使用して「外部」コマンドを実行することを望んでいます。バッククォートを処理するスナッグ。
CodeSniffer 1.3ディストリビューションに付属するGeneric_Sniffs_PHP_ForbiddenFunctionsSniffクラスを使用すると、exec()、popen()、passthru()などの「危険な関数」への呼び出しを簡単に識別できるため、その部分は簡単です。
しかし、「ストック」スニフでバッククォート演算子への参照を確認することはできません。また、CodeSnifferロジック自体でバッククォート演算子についての言及も表示されません。ただし、間違った場所を探している可能性があります(たとえば、「->」は実際にはT_OBJECT_OPERATORであることがわかります)。
だから私の質問はこれです:
PHP_CodeSnifferを使用して、PHPコードでのバッククォート演算子の使用を検出できますか?その場合、どのように使用しますか?
codeigniter - CodeIgniter 2.0.3 の Active Record でのバッククォートの動作がおかしい
以前はすべてのクエリが CI バージョン 2.0 で問題なく動作していましたが、2.0.3にアップグレードすると一部の SELECT クエリが壊れました。
CIはバッククォート(``)を自動でつけていますが、古いバージョンではそのまま動いていました。
CI ユーザー マニュアルでは、2 番目のパラメーターを追加するように指示されています。
デシベル->選択
なので
間違い
しかし、まだ機能していません。
コードは次のとおりです。
エラーは次のとおりです。
CONCAT(trim( clb_company.portal_line1 ), `'/'`, trim(clb_device.name))を見てください。
回避策を提案してください。