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

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


5
$ PS1をローカルコンピューターとsshセッションで別々に設定する
ホームディレクトリをバージョン管理下に置いているので、基本的な構成をどのコンピューターでも簡単に利用できます。 ローカルコンピューターのbashコマンドプロンプトは、現在のgitリポジトリとその状態を含む複雑でカラフルなものです。しかし、リモートマシンにuser@host ~ $アクセスするときは、単純なコマンドプロンプトが必要sshです。 ローカルで実行.profileすると複雑$PS1になり、sshセッションで実行すると簡単になるように更新できるようにしたいと思います。 基本的に、私はで$AM_I_LOGGED_IN_VIA_SSHテストする変数のようなものを望みます.profile。それは可能ですか?
9 bash  ssh  shell  ps1 

3
PATH検索にはシンボリックリンクが含まれますか?
POSIXシェル標準はこのサイトで述べています http://pubs.opengroup.org/onlinepubs/9699919799/ シェルPATHが実行可能ファイルを探すためにどのように使用するかについて: 「リストは最初から最後まで検索され、指定された名前と適切な実行権限を持つ実行可能ファイルが見つかるまで、各プレフィックスにファイル名が適用されます。」 まあ、これはこれが実際のPOSIX実装で動作するように見える方法ではありません: man which 言う: 「現在の環境で実行されるファイル(またはリンク)のパス名を返します。引数が厳密にPOSIX準拠のシェルでコマンドとして指定されている場合、これは、PATHを検索して、引数。シンボリックリンクには従いません。」 OK、この状況を見てみましょう: $ pwd /home/mark $ echo $PATH /home/mark/bin:... $ ls -l bin/foobar lrwxrwxrwx 1 mark mark 18 Dec 12 22:51 bin/foobar -> /home/mark/foobar1 $ touch foobar1 $ which foobar $ chmod a+x foobar1 $ which foobar /home/mark/bin/foobar OK、PATH正しい名前のシンボリックリンクがここにあり、ls実行可能であると報告されています。 which それはまったく見ていませんが、それが指しているものにのみ興味があります。 両方があるという事実にもかかわらず、それman …

1
これらの不可解な文字列は、レジストリの関連付けで本当に何を意味しますか?
私のHKEY_CLASSES_ROOT \ Word.Document.12 \ shell \ Open \ command \ command値(Word 2010 'Open'シェルアソシエーション)を見ると、次のような無意味なことがわかります。 xb'BV5 !!!!!!!!! MKKSkWORDFiles> bi $ T!V!0Z = {Pk0vm〜AZu / n "%1" 最後の/ n "%1"部分についてはすべて明確ですが、最初の不可解な部分は、MS Wordの実行に関する何らかの魔法の指示を明らかに示しています。Excelや他のOffice協会と同じブードゥー教です。 何が起こっているのかについてインターネットを介して自分自身を教育しようという私の試みは何も結果をもたらさなかった。多くの人がWord / Excelの関連付けが適切に機能するように確立するための「正しい呪文」について話し合っていますが、彼ら(私も同じように)が何をしているのか、なぜこの黒魔術がうまくいくと思っているのかを理解している人はいませんでした。他の人々のために-それはどういうわけか彼らのマシンでうまくいくことができたからです。 しかし、私が本当に理解しなかったのは、誰も(もちろんインターネットで見つけた人)が「地球上でどのように機能するのか」などの質問をしたことがないという事実です。または「それはどういう意味ですか?」少なくとも最後ではなく、「私は厄介なウイルスを持っていると思いますか?!」さて、私は最初になると思います。 ここでの私の質問は、人々がそれほど好奇心が強い理由ではありません。私の質問は、これらの文字列がレジストリの関連付けで実際にどのように機能するかです。これは、ドキュメント化されていない(またはドキュメント化されている??)Windows(おそらくWindows Shell)機能であり、そのような文字列を人間が消化できるものに変換する必要があります。


4
Bash Shellチュートリアル[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? スーパーユーザーのトピックになるように質問を更新します。 6年前休業。 良いbashチュートリアルは何ですか?bash shellsコマンドとその使用方法について詳しく知りたいのですが。

2
XP / Vista / 7でCTRL-ALT-DELキーの組み合わせを完全に無効にするにはどうすればよいですか?
私はこれを理解するために広範囲にググググしていて、誰も直接答えることができないようです。 まず、ログオン情報を入力するためにCTRL-ALT-DELを要求することについて話しているのではないということから始めましょう。 ゴルフセンターで使用されているゴルフシミュレータープログラムの作業をしています。ゴルフセンターの顧客がプログラムから抜け出してコンピューターにまったくアクセスできないように、CTRL-ALT-DELキーシーケンスを完全に無効にする機能が必要です。同様に処理する必要のある他のキーの組み合わせがあることを理解しています。この機能全体はすでにXPで機能していますが、まもなくWindows 7に切り替えます。CTRL-ALT-DELが唯一の機能です。 Win7では動作しないようです。できれば、万能のソリューションが本当に欲しいです。 この同じプログラムは、家庭用ゴルフシミュレーター用のクライアントのパーソナルコンピューターにもインストールできますが、この機能を本当に必要とするコンピューター(ゴルフセンターコンピューター)は、ゴルフセンターに提供されているので、新しいシェル?キオスクモード用の新しいシェルを書くことを提案する他の人を除いて、私はそれについてまったく何も知りません。 なんらかの方法でレジストリを変更するような、もっと簡単なオプションが本当に欲しいです。ポップアップするメニュー画面からいくつかのボタンを削除できると聞きましたが、それらのほとんどすべて(右下隅のシャットダウン/再起動ボタンを含む)を削除できない限り、これでは十分ではありません。私のためのソリューション。
9 shell 

3
'>'がgccからエラーメッセージをリダイレクトしないのはなぜですか?
次のプログラムをnew.cに保存しました int main() { a; return 0; } エラーメッセージを返します。このメッセージをファイルに送信したい。だから私は次のコマンドを使用しました gcc new.c > temp.txt しかし、それでも私はターミナルで出力を得ていました。私はUbuntu 13.04を使用しています。どうすれば機能させることができますか?
9 c  shell  gcc 


4
Bash組み込みで「exec」を実行する
シェル関数を定義します(clockこれをと呼びましょう)。これは、time関数と同様に、別のコマンドのラッパーとして使用したいものですclock ls -R。 私のシェル関数はいくつかのタスクを実行してから終了しexec "$@"ます。 この関数をシェルのビルトインでも機能させたいのです。たとえば、実行可能ファイルではなく、ビルトインclock time ls -Rの結果を出力する必要がtimeあり/usr/bin/timeます。しかし、exec常に代わりにコマンドを実行することになります。 Bash関数を引数としてシェル組み込みを受け入れるラッパーとして機能させるにはどうすればよいですか? 編集:これtimeはBashの組み込みではなく、パイプラインに関連する特別な予約語であることを学びました。で動作しない場合でも、組み込みのソリューションに関心がありますtimeが、より一般的なソリューションの方が優れています。


2
rm -rf戻りコード
ゼロ以外のコマンドrm -rfの考えられる戻りコード、つまり、失敗した場合の考えられる戻りコードを誰にでも知らせることができます。コマンドが失敗しただけではなく(0以外のリターン)、コマンドの失敗の詳細な理由を知りたい。
9 shell  unix 

2
UTF-8ロケールの移植性(およびssh)
私は多くの時間sshをさまざまなマシンに費やしていますが、それらはすべて異なります(一部は埋め込まれている、一部はLinuxを実行している、一部はBSDを実行している、など)。ただし、自分のローカルマシンではOS Xを使用しています。これには、もちろんBSDベースのユーザーランドがあります。これらのマシンの私のロケールは、利用可能なオプションの1つであるen_GB.UTF-8に設定されています。 % echo `sw_vers` ProductName: Mac OS X ProductVersion: 10.8.2 BuildVersion: 12C60 % locale -a | grep -i 'en_gb.utf' en_GB.UTF-8 私が使用しているより機能の高いLinuxシステムのいくつかには同等のオプションがあるようですが、Linuxでは名前が少し異なることに注意してください。 % lsb_release -d Description: Debian GNU/Linux 6.0.3 (squeeze) % locale -a | grep -i 'en_gb.utf' en_GB.utf8 これは私に不思議に思います:ssh私がMacからLinuxマシンに入るLC_*と、「UTF-8」という接尾辞を付けてすべての変数を転送しますが、そのLinuxマシンは何が求められているかを理解していますか?それとも他のロケールにフォールバックしているだけですか? 編集:これは私が参照しているものの例です: % ssh -v odin ... debug1: Entering interactive session. debug1: …
9 linux  shell  utf-8  locale  bsd 

2
スクリプトによって生成されたすべての子プロセスのリストを取得する方法
環境: ユーザーは、実行するカスタムスクリプトを提供します。これらのスクリプトは、複数のGUIプログラム、バックエンドサービスを開始するためのスクリプトに似たものにすることができます。スクリプトの記述方法を制御できません。これらのスクリプトはブロッキングタイプにすることができます。つまり、すべての子プロセス(順次実行されるプログラム)が終了するまで実行が待機します。 #exaple of blocking script echo "START" first_program second_program echo "DONE" または非ブロッキングタイプ、つまり、バックグラウンドで子プロセスをフォークし、次のようなものを終了するタイプ #example of non-blocking script echo "START" first_program & second_program & echo "DONE" 私は何を達成しようとしていますか? ユーザー提供のスクリプトは、上記の2つのタイプのいずれか、または両方の組み合わせにすることができます。私の仕事は、スクリプトを実行し、スクリプトによって開始されたすべてのプロセスが終了するまで待機してから、ノードをシャットダウンすることです。ブロッキングタイプの場合、ケースは非常に単純です。つまり、スクリプト実行プロセスのPIDを取得し、ps -ef | grep -ef PIDにエントリがなくなるまで待機します。非ブロッキングスクリプトは私に問題を与えるものです スクリプトの実行によって生成されたすべての子プロセスのPIDのリストを取得する方法はありますか?ポインタやヒントは高く評価されます

1
シェルコマンドの前のパーセント記号(%)
私は自分のシェルにたくさんのコードを貼り付けただけですが、先頭のコードを削除するのを忘れていました % コマンドを実行する前に。何もしていないようです。なぜこれは私のシェルでは何もしません( zsh )? > % echo foo に バッシュ 、私は次のようになります > % echo foo bash: fg: %: no such job コマンドを実行しても何らかの副作用がないことを確認したいだけです。

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