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

シェルとは、ユーザーがオペレーティングシステムとやり取りできるようにするソフトウェアで、通常はコマンドラインで入力します。


2
bashで-Tを設定します-それは何をしますか?
set -Tbashの意味は何ですか?それは何をするためのものか?Unixのトラップに関連していると思いますが、よくわかりません。 私はこれを見つけました: フォアグラウンドの子がまだ実行されている間にトラップがすぐに呼び出される場合、そのような構造の多くはより単純になります。問題について「何か」を行うトラップハンドラをインストールするだけで、SIGINT(またはSIGQUIT)を押すたびに呼び出されます。Cプログラムのシグナルハンドラが即座に呼び出されるように。たぶん私はCプログラマーにすぎますが、shの遅延動作は非常に直感的ではないと思います。 #! /bin/sh onsig() { trap SIGINT kill -SIGINT $$ } set -T # set async execution of traps on FreeBSD trap onsig SIGINT ./some-blocking-program set +T # set traps execution behaviour back to normal これにより、トラップハンドラーが少し複雑になりますが、プログラムがブロックして適切なアクションをとることを意識せずに、通常どおりシェルスクリプトの主要部分を記述できます。
3 bash  unix  shell 

1
デフォルトのシェルを実行できません
default shell(/opt/local/bin/bash)をアンインストールした場合はどうすればよいですか?自分のアカウントdefault shellが有効であるか、少なくとも存在しない限り、自分のアカウントでターミナルを開くことができません。それを修正するエレガントな方法はありますか?これは時々私に起こります。 経験した状況: バックアップを復元します。 のport uninstall inactive代わりにミスタイプport uninstall installed。
3 macos  unix  shell  root 

2
シェルスクリプトが存在するフォルダ以外の場所でシェルスクリプトが呼び出されるのをブロックする方法
ユーザーが現在シェルスクリプトディレクトリでない場合は、シェルスクリプトを停止します。たとえば、私はフォルダにいます ~/ そしてシェルスクリプトを呼び出す ~/shell/script.shシェルスクリプトが出力するはずです You are not allowed to call this shell script from another folder other than its directory。しかし、私がそのフォルダにいるなら ~/shell そして電話 ./script.sh 実行は許可されています。 なぜあなたは何を気にかけますか $PWD は何ですか?問題がある場合は、スクリプト内のディレクトリを変更できます。 cd "$(dirname "$0")" これは非常にローカルで攻撃的で危険なスクリプトなので、スクリプトを実行しているときは、ユーザーにもっと注意を払ってもらいたいです。 関連する質問 bashスクリプトがシェルまたは他のスクリプト/アプリケーションから呼び出されたかどうかを確認してください。 実行ファイルは端末から直接呼び出された場合は起動しますが、シェルスクリプトから呼び出された場合は動作しません

1
個々の部品は機能しますが、それらを通してデータをパイプ処理すると壊れます
一言で言えば、私はpingのための別の出力を作成しようとしています。それは私がやろうとしていることのためにもっとうまくいきます。そのために、私はpingの出力をsedにパイプ処理し、ミリ秒を除くすべてを削除します。最後の部分はPythonで書かれていて、それは出力を作成します。 これがコードです: ping google.com | sed '/^[^=]*$/d;s/^[^=]*=[^=]*=[^=]*=//;s/ ms//' | python3 -c 'while True: l = [float(input()) for _ in range(10)] m = sum(l) / len(l) n = sum(abs(i - m) for i in l) / len(l) print("{}\t{}".format(m, n))' フィッシュアンドバッシュで実行しようとしましたが、うまくいきません(=>出力が得られません)。しかし、個々の部品は機能します ping google.com | sed '/^[^=]*$/d;s/^[^=]*=[^=]*=[^=]*=//;s/ ms//' 期待される出力が得られます。私がcatを使ってファイルをそれにパイプすると、Pythonスクリプトは期待される出力を生成します。
2 unix  shell  python  sed 


0
APでのARPスプーフィングの防止、「wl deauthenticate」コマンド
APでMACフィルタリングを実行できず、ARPがネットワークを偽装しているユーザーをブロックする必要がある状況です。コマンドを使用しようとしています wl deauthenticate クライアントを蹴るために。そして繰り返します。 while true; do wl deauthenticate <mac> sleep 1 done しかし、このコマンドを実行すると、アクセスポイントはワイヤレス接続の受け入れを停止し、コマンドを無効にするかAPを再起動するまでブロックされます。何か提案はそう私は無線を停止せずにコマンドを繰り返し実行することができますか? iptablesを使ってARPスプーフィングパケットをドロップできますか?それとも、ARPプロトコルはネットワークスタック内のIPより低いため、ARPスプーフィングはiptablesによってブロックできないと思いますか。

2
異なるシェルからの出力をマージするツールを探す
私はこのような3つのプロセスを分割するbashスクリプトを持っています。 CD FOO_DIR && ./run-foo CD BAR_DIR && ./run-bar CD BAZ_DIR && ./run-baz 私は、親シェルを3つのセクション(水平または垂直 - 違いはありません)に分割し、それぞれのセクションにそれぞれの子プロセスの出力を表示するツールが欲しいのです。 そのようなツールは存在しますか?
2 linux  bash  shell 

1
Gnomeのアイドルウィンドウを自動的に閉じる
GnomeでX秒間使用されていない場合、ウィンドウを自動的に閉じることはできますか? たとえば、今、私はいくつかのFirefoxウィンドウや他のファイルブラウザウィンドウなどをこのFirefoxブラウザの後ろに開いています。 2分間触れなかった場合は、閉じてください。これはできますか?私はxdotoolがこのタスクに使用できるかどうか疑問に思いますか?
2 linux  bash  terminal  shell  gnome 


2
現在のシェルからテキストを抽出する方法
Linuxプラットフォームで質問をしたいときは、常に現在のシェルのスクリーンショットを提供する必要があります。スナップショット、アップロード、リンクにかかるコストはそれほどかかりません。現在のシェルから直接テキストを抽出するコマンドはありますか。
2 linux  shell 

2
Bash:「e」を入力できない、または「H」を無限に繰り返す
私の職場には、複数の独立したネットワークがあり、すべてがさまざまなバージョンのRedHat Linux 4、5、および6を実行しています。 これらのネットワークの1つでは、bashを使用できません(または、筆者が知る限り、python、gdbなどのbashフロントエンドを使用するもの)。 > exit 私は代わりに以下を取得します: > HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH<control-C> control-C(bashまたはgdbの場合)を押すか、別の端末でpythonのkillall pythonを実行するまで。 私の主な作業シェルはtcshですが、スクリプト作成にはすべてbashを使用しています。また、単純なループなどを実行するために、対話形式でシェルにドロップすることもあります。幸いなことに、「終了」は私の履歴にあるため、上矢印を使用して元に戻して終了できます。 明確にするために、これらのプログラムをインタラクティブに実行した場合にのみ発生します。シェルを開始したかどうかは関係ありません。 > bash > bash --login > env bash --login > env bash これは、bash_profileファイルとbashrcファイルを削除してもしなくても発生します。私の知る限り、これを引き起こすシステムのプロファイルには何もありません。 私はこれを見つける方法を完全に迷っています!誰もが提供できる助けを本当に感謝しています! TIA!
2 linux  bash  terminal  shell 


2
最新ファイルのGrep
サブフォルダーにある最新のファイルから特定の行を見つけようとしています。ファイルには同じ名前が付いています。したがって、構造は次のようになります。 フォルダ サブフォルダー1 filename.xml SubFolder2 filename.xml 私はgrepを使用して行を持っています grep -r "mySubString" folder/ ここで提案されているように、ファイルをソートするためにfindを使用してみました。しかし、私は両方を組み合わせて最新のファイルから行を取得する方法を知りません。 ご協力いただきありがとうございます。


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