問題タブ [shell]

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.

0 投票する
5 に答える
5400 参照

python - Mac OS X の Python インタラクティブ シェルにポンド記号 (£) を入力するにはどうすればよいですか?

更新:提案してくれてありがとう。さらに調査した後、ここで質問を再定式化しました: OS X の Python/editline: £ 記号は ed-prev-word にバインドされているようです

Mac OS XI では、ポンド記号 (£) を Python 対話型シェルに入力できません。

  • Mac OS X 10.5.5
  • Python 2.5.1 (r251:54863、2008 年 1 月 17 日、19:35:17)
  • ヨーロッパのキーボード (£ は Shift-3)

空の Python シェルで「£」と入力しても (つまり、Shift-3 を押しても)、何も表示されません。

すでにいくつかの文字を入力した場合、たとえば

... 次に、Shift-3 を押すと、カーソル位置自体が最新のスペースの後に移動するか、カーソルと行頭の間にスペースが残っていない場合は行頭になります。

通常の bash シェルでは、Shift-3 を押すと、予想どおり「£」と入力されます。

Python インタラクティブ シェルでリテラル "£" を入力する方法を教えてください。

0 投票する
20 に答える
1490905 参照

bash - Bashで変数によって定義された数値の範囲を反復するにはどうすればよいですか?

範囲が変数で指定されている場合、Bash で数値の範囲を反復処理するにはどうすればよいですか?

私はこれを行うことができることを知っています(Bashドキュメントでは「シーケンス式」と呼ばれます):

これにより、次のことが得られます。

1
2
3
4
5

しかし、範囲のエンドポイントのいずれかを変数に置き換えるにはどうすればよいでしょうか? これは機能しません:

どちらが印刷されますか:

{1..5}

0 投票する
7 に答える
3364 参照

python - 妥当な言語で書かれた UNIX シェル?

Python のような適切な言語で書かれた UNIX シェルについて聞いたことがありますか?

0 投票する
2 に答える
10516 参照

arrays - KSHスクリプト:値がコンマをエスケープしたときに「,」で分割する方法は?

名前と値のペアで構成されるファイルを処理するための KSH スクリプトを作成しようとしています。

形式は次のとおりです。

私が書くとしましょう:

これにより、2 番目の名前と値のペアが簡単に得られます。ここで、値にカンマを含めることができるようにタスクが拡張されたとします。次のようにエスケープする必要があります。

「読み取り」はすべての引用符を取り除き、配列の2番目の要素は「NAME2 VALUE2_1」になるため、明らかに、私のコードは機能しなくなりました。

「読み取り -A 配列」を持たない古い ksh で立ち往生しています。「read -r」と「eval set -A ....」でさまざまなトリックを試しましたが、役に立ちませんでした。「read nvl1 nvl2 nvl3」を使用して読み取り内でアンエスケープと分割を行うことはできません。これは、各行に名前と値のペアがいくつあるかを事前に知らないためです。

誰かが私のために役立つトリックを持っていますか?

PS Perl、Python、さらには awk でこれを行ったことがあることを知っています。ただし、kshで実行する必要があります(...または試してみてください;)

0 投票する
7 に答える
25583 参照

unix - シェルスクリプトの比較でx$VAR = xyesがよく使用されるのはなぜですか?

これは、autotools(autoconf、automake)を使用するプロジェクトのビルドスクリプトでよく見られます。誰かがシェル変数の値をチェックしたいとき、彼らは頻繁にこのイディオムを使用します:

単に次のように値をチェックするよりも、これの利点は何ですか。

私はこれを頻繁に見る理由があるに違いないと思いますが、それが何であるかを理解することはできません。

0 投票する
2 に答える
8842 参照

bash - bashでブロックせずに名前付きパイプから読み取るパイプラインを設定する

パイプの反対側が接続を受信するのを待って open() 呼び出しがハングしないように、特定のパイプに対して開かれたファイル記述子を使用してサブプロセスを呼び出したいと考えています。

デモンストレーションするには:

この場合、some_program何らかのプロセスが/tmp/foobar.pipe書き込み用に開かれるまで実行されません。ただし、some_programコマンドを受信して​​いない場合でも有用な効果があるため、目的の動作をsome_programすぐに実行する必要があります。

/tmp/foobar.pipe代替スクリプト言語 (python、perl など) またはフラグで開く C ラッパーを介して実行することでこれを行うメカニズムO_NONBLOCKは明らかです。可能であれば、純粋なbashソリューションを探しています。

0 投票する
8 に答える
2417 参照

shell - シェル テキスト エディタはどのように機能しますか?

私はプログラミングに関してかなりの初心者ですが、vim、emacs、nano などのシェル テキスト エディターがコマンド ライン ウィンドウをどのように制御できるのか疑問に思っていました。私は主に Windows プログラマーなので、*nix では異なるかもしれません。私の知る限り、テキストをコンソールに出力して入力を求めることしかできません。テキスト エディタは、コマンド ライン環境でナビゲート可能で編集可能なウィンドウをどのように作成しますか?

0 投票する
3 に答える
14268 参照

shell - 255 より大きい ExitCodes は可能ですか?

はいの場合、どのオペレーティング システム、シェルなどでしょうか?

次の Java プログラムを考えてみましょう (例として Java を使用しています。オペレーティング システムに関するこの質問にはどの言語でも適しています)。

Linux と bash で実行すると、常に 255 より小さい値が返されます (echo $?前に実行されたコマンドの終了コードを出力します)。


編集済み:以下の(これまでのところ)回答は、UNIXで何が起こるかを完全に説明しています。私はまだ他のOSについて疑問に思っています。

0 投票する
7 に答える
62661 参照

shell - Bourne Shell で文字列を比較するにはどうすればよいですか?

シェルで文字列を比較する必要があります:

しかし、明らかに「*」はシェルでは機能しません。それを行う方法はありますか?

0 投票する
5 に答える
950 参照

windows - Windows での「Unix シェル」に似たスクリプト

シェルスクリプトの専門家の助けが必要です。

次のような形式で、複数の行でクライアントの IP アドレスをトレースする .txt ファイル (ログ) があります。

次のスクリプトを作成する必要があります。

  • このファイルから IP アドレスを抽出します
  • IP アドレスをグループ化します (同じ IP アドレスは 1 回だけ報告されます)。
  • 結果のIPアドレスを含むファイルを出力します

前の例では、結果のファイルは次のようになります。

私は Windows OS を使用していますが、CygwinUnix ツール(Windows で grep や sort などの Unix に似たコマンドを提供するツール) などのツールを使用できます。

スクリプトを使用しないソリューションも有効です。

よろしくお願いします。