タグ付けされた質問 「scripting」

スクリプティングは、一般に形式性が低く、タイプが緩く、明示的なコンパイルが不要であることを特徴とするプログラミング形式です。多数のスクリプト言語があり、これらはコマンドラインアプリケーション、GUI、サーバー側アプリケーション、拡張モジュールなど、さまざまなシナリオで使用されます。


27
Windowsコマンドライン環境を使用して、ファイル内のテキストをどのように見つけて置換できますか?
Windowsコマンドライン環境を使用してバッチファイルスクリプトを作成していて、ファイル内のテキスト(例: "FOO")の出現ごとに別のテキスト(例: "BAR")を変更したい。それを行う最も簡単な方法は何ですか?組み込み関数はありますか?

30
スクリプト作成者によるWebサイトの非難
OverаэтотвопросестьответынаStack Overflowнарусском:Какустроитьловушкудляхакера、илидостойнаиотбии 私は答えを受け入れましたが、悲しいことに、私たちは最初の最悪のシナリオである、誰もががらくたを購入しようとするCAPTCHAに留まっていると思います。簡単な説明:キャッシング/ Webファームではヒットを追跡することができません。回避策(キャッシュされていないWebビーコンの送信、統合テーブルへの書き込みなど)により、ボットよりもサイトの速度が低下します。高レベルで役立つCiscoなどの高価なハードウェアが存在する可能性がありますが、すべてをキャプチャすることが代替手段である場合、コストを正当化することは困難です。後でもっと詳しく説明し、将来の検索者のためにこれを整理します(コミュニティウィキなので他の人も試してみてください)。 状況 これは、woot.comでのバッグの売り上げについてです。私は、Wottの子会社であるWoot Workshopの社長です。Wootの子会社であり、デザイン、製品の説明、ポッドキャスト、ブログの投稿、フォーラムのモデレートを行っています。私はCSS / HTMLを使用しており、他のテクノロジーにほとんど慣れていません。私は開発者と緊密に連携し、ここでのすべての答え(および私たちが持っている他の多くのアイデア)について話し合いました。 ユーザビリティは私の仕事の大部分を占めており、サイトをエキサイティングで楽しいものにすることは残りのほとんどです。ここで、以下の3つの目標が導き出されます。CAPTCHAはユーザビリティを損ない、ボットは私たちのがらくたの売上から楽しさと興奮を盗みます。 ボットは、ランダムクラップセールのために、フロントページを数十回、2番目のスクリーンスクレイピング(および/またはRSSのスキャン)で叩いています。彼らがそれを見た瞬間、それはプログラムの第2ステージをトリガーし、ログインし、I oneをクリックしてフォームに記入し、がらくたを購入します。 評価 lc:この方法を使用するstackoverflowおよびその他のサイトでは、試行されたタスクがそれを必要とするため、ほとんどの場合、認証(ログイン)ユーザーを処理します。 Wootでは、匿名の(ログに記録されていない)ユーザーがホームページを表示できます。つまり、スラミングボットは認証されない(そしてIPアドレスを除いて本質的に追跡できない)可能性があります。 したがって、IPのスキャンに戻ります。これは、a)クラウドネットワーキングとスパムボットゾンビのこの時代ではほとんど役に立たないこと、b)1つのIPアドレスから来るビジネスの数を考えると、あまりにも多くの無実をキャッチしていることです(非静的IP ISPおよびこれを追跡しようとする潜在的なパフォーマンスヒット)。 ああ、そして人々に電話をかけてもらうのは、最悪のシナリオです。彼らにあなたを呼んでもらえますか? BradC:Ned Batchelderのメソッドは見た目はかっこいいですが、サイトのネットワーク用に構築されたボットを打ち負かすためにかなりしっかりと設計されています。私たちの問題は、ボットが私たちのサイトを打ち負かすために特別に構築されていることです。これらのメソッドの一部は、スクリプト作成者がボットを進化させてハニーポットを無視し、フォームIDの代わりに近くのラベル名をスクリーンスクレイピングし、JavaScript対応のブラウザコントロールを使用するまで、短時間動作する可能性があります。 lc:「もちろん、誇大広告がマーケティングスキームの一部でない限り」はい、そうです。アイテムがいつ出現するのかという驚きと、なんとかアイテムを手に入れられた場合の興奮は、実際に得られるがらくたと同じかそれ以上に重要です。先着/先着順を排除するものは、がらくたを「勝つ」ことのスリルに有害です。 novatrust:そして、私は、新しいボット支配者を歓迎します。実際にRSSフィードを提供して、サードパーティのアプリがサイトをスキャンして製品情報を取得できるようにしますが、メインサイトのHTMLの前にはできません。私がそれを正しく解釈している場合、あなたのソリューションは、目標1を完全に犠牲にし、ボットががらくたのほとんどを購入するという事実を辞任することによって、目標2(パフォーマンスの問題)を助けます。あなたの最後の段落の悲観論は私には正確だと感じているので、私はあなたの回答に賛成票を投じました。ここには特効薬はないようです。 残りの応答は一般にIP追跡に依存しますが、これもやはり(ボットネット/ゾンビ/クラウドネットワーキングでは)役に立たないと思われ、有害(同じIP宛先から来た多くの無実を捕まえる)のようです。 他のアプローチ/アイデア?私の開発者は「CAPTCHAをやってみよう」と言い続けますが、私たちががらくたを欲している実際の人間すべてにとって、それほど邪魔にならない方法があることを望んでいます。 元の質問 知覚価値が非常に高く、非常に限られた量の何かを安く販売しているとしましょう。このアイテムをいつ販売するかは、正確にはわかりません。100万人を超える人々が、あなたが何を売っているかを定期的に訪れます。 プログラムでスクリプト作成者やボットが[a]そのアイテムをいつ販売するかを把握し、[b]それらが最初に購入したことを確認します。これには2つの理由があります。 あなたのサイトは非人間によって非難され、すべての人のすべてを遅くしています。 スクリプト作成者は最終的に製品を「勝ち取り」、常連客に騙されたと感じさせます。 一見明白な解決策は、ユーザーが注文する前にジャンプするためのいくつかのフープを作成することですが、これには少なくとも3つの問題があります。 CAPTCHAを解読したり、猫を選んだり、数学の問題を解いたりする必要があるため、ユーザーエクスペリエンスは人間にとってはうんざりです。 知覚された利益が十分に高く、群集が十分に大きい場合、一部のグループは微調整を回避し、軍拡競争につながります。(これは、微調整がより簡単であるほど特に当てはまります。非表示の「コメント」フォーム、フォーム要素の再配置、それらの誤ったラベル付け、非表示の「ゴッチャ」テキストはすべて一度機能し、この特定のフォームをターゲットに戦うために変更する必要があります。) スクリプト作成者が微調整を「解決」できない場合でも、フロントページを非難したり、スクリプト作成者が手動で注文を完了するようにアラームを鳴らしたりすることはできません。彼らが[a]を解くことで利点を得たとしても、注文ページに到達する最初の人間になるので、彼らはおそらく[b]を勝ち取るでしょう。さらに、1。が引き続き発生し、サーバーエラーが発生し、全員のパフォーマンスが低下します。 別の解決策は、頻繁にヒットするIPを監視するか、ファイアウォールからIPをブロックするか、またはその他の方法で注文できないようにすることです。これは2.を解決して[b]を防ぐことができますが、IPのスキャンによるパフォーマンスヒットは巨大であり、スクリプト作成者が単独で引き起こしているよりも1.のようなより多くの問題を引き起こす可能性があります。さらに、クラウドネットワーキングとスパムボットゾンビの可能性があるため、IPチェックはほとんど役に立ちません。 3番目のアイデアは、注文フォームをしばらく(たとえば、0.5秒)ロードすることを強制することで、迅速な注文の進行を遅くする可能性がありますが、やはり、スクリプト作成者は、実際のユーザー。 ゴール 非スクリプトの人間にアイテムを販売します。 ボットによって減速されない速度でサイトを実行し続けます。 「通常の」ユーザーが人間であることを証明するために完了するタスクを煩わせないでください。

9
スクリプトファイルの先頭に#!/ bin / bashを配置する必要があるのはなぜですか?
私は作りました 以前にBashスクリプトを作成したあり、それらはすべて#!/bin/bash最初はなくても問題なく実行されました。 それを入れる意味は何ですか?何か違うのでしょうか? また、どのように発音しますか #ますか?私はそれ!が「強打」と発音されることを知っています。 どう#!発音しますか?
487 linux  bash  scripting  shebang 

29
現在実行中のファイルのパスと名前を取得するにはどうすればよいですか?
他のスクリプトファイルを呼び出すスクリプトがありますが、プロセス内で現在実行されているファイルのファイルパスを取得する必要があります。 たとえば、3つのファイルがあるとします。execfileの使用: script_1.pyを呼び出しますscript_2.py。 次に、をscript_2.py呼び出しますscript_3.py。 どのように私は、ファイル名とパスを取得することができscript_3.py、内のコードからscript_3.pyから引数としてその情報を渡すことなく、script_2.py? (実行するとos.getcwd()、現在のファイルではなく、元の開始スクリプトのファイルパスが返されます。)
482 python  scripting  file 

10
エコーせずにシェルスクリプトからパスワードを取得する方法
パスワードで保護されたシステムへのアクセスを必要とするプロセスを自動化するスクリプトがあります。システムには、ユーザーパスワードを引数として受け入れるコマンドラインプログラムを介してアクセスします。 ユーザーにパスワードを入力してシェル変数に割り当て、その変数を使用してアクセスプログラムのコマンドラインを構築するようにユーザーに促したいと思います(もちろん、処理するストリーム出力を生成します)。 私はBourne / Bashの適度に有能なシェルプログラマーですが、ターミナルにエコー(または「*」文字を使用してエコー)せずにユーザー入力を受け入れる方法がわかりません。 誰かがこれを手伝ってくれる?
424 bash  shell  scripting  sh 







30
curlコマンドのデータをurlencodeする方法は?
パラメータを受け取り、curlを介してWebサイトに送信するテスト用のbashスクリプトを記述しようとしています。特殊文字が適切に処理されるように、値をURLエンコードする必要があります。これを行う最良の方法は何ですか? これまでの私の基本的なスクリプトは次のとおりです。 #!/bin/bash host=${1:?'bad host'} value=$2 shift shift curl -v -d "param=${value}" http://${host}/somepath $@


7
Bashを使用してコマンドからのすべての出力を抑制するにはどうすればよいですか?
パラメータを使用してプログラムを実行するBashスクリプトがあります。そのプログラムはいくつかのステータスを出力します(これを行っている、行っている...)。このプログラムを静かにするオプションはありません。スクリプトが何も表示しないようにするにはどうすればよいですか? Windowsの「エコーオフ」のようなものを探しています。
296 bash  shell  scripting  echo 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.