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

Bashは、GNUプロジェクトのUnixライクなオペレーティングシステム用の無料のシェルです。

4
システムをリセットまたは再インストールする前に、Windows 10用のLinuxサブシステムをバックアップ(WSL)するにはどうすればよいですか?
私の問題は、いくつかの問題のためにWindowsをリセットまたは再インストールする必要があることですが、開発のためにWSLを構成するために多くの時間を費やし、それを失いたくありません。 設定とインストールされているモジュール、プラグイン、ユーザーなどでWSL全体をバックアップし、ウィンドウをリセットまたは再インストールした後に復元する方法はありますか?このトピックをよく検索しましたが、有用な情報が見つかりませんでした。 それ以外の場合、バックアップする方法がない場合、Windows 10のリセットはWSLを完全に削除しますか?

4
前のコマンドのstdoutputに何かを付加するbashパイプ構造
sendmailを使用してデータを送信し、onelinerで実行したい。 echo "mail content" | sendmail emailataddres.com 件名なしで送信します。 件名はメールコンテンツの前にある必要があるため、次の行に沿って何かを探しています。 echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com sedとawkは、使用して覚えるのが本当に面倒です。 編集:明確にするために:echo "Mail content"は単なる例です。任意のソースからの標準出力ストリームに何かを追加できる必要があります。例:ifconfig、zcatなど。

3
コマンドライン:出力から部分文字列を抽出する
コマンドSayStuffを実行するとします $ SayStuff そして出力は Watermelons and cucumbers 今。cucumbers出力から部分文字列を抽出し、それを何かにパイプしたいとします。 プログラムでこれを実行する方法は、出力を区切り文字Spaceで配列に分割し、それを参照することArrayName[2]です。私はシェルスクリプトにかなり慣れていないため、半暗号のcut例を掘り下げることに成功しましたが、そのいずれも意味がありませんでした。 何か案は?

2
SSHセッションを「終了」するときに端末出力がクリアされないようにするにはどうすればよいですか?
この質問は、Super Userで回答できるため、Stack Overflowから移行されました。 9年前に移行され ました。 これが状況です:私はUbuntuでターミナルを開き、ssh host-1期待どおりに動作します。host-1から、私はを実行しますssh host-2。これは再び正常に動作し、host-2に接続します。host-2から、たとえば、画面にecho "blah"印刷blahします。問題:exitすると、画面がクリアされ、次のものだけが残ります。 Connection to host-2 closed. myusername$ host-1 blahにexit戻った後、host-2で実行されるコマンド(など)によって生成された画面からの出力のクリアを防ぐにはどうすればよいですか? すでにいくつかのデバッグを行っています。ホスト1とホスト2に上記とまったく同じように友人ログインしており、ホスト2 exitからの場合、画面はクリアされません。だから、それは私の環境と関係があるに違いありません...そうですか?どんなアイデアがありますか? Windows XPでPuTTYを使用し、Ubuntuでターミナルからこれを試しました-関係なく同じ動作です。
23 bash  ssh 

3
悪いコマンドの後にbashが一時停止する原因は何ですか?
間違ったコマンドを入力しているときは、次のことをしたいと言います。 $ cd .. $ ls しかし、代わりに入力が速すぎて、lとsの間でEnterキーを押すことになります。 $ cd .. $ l sbash: l: command not found... これはもちろん、高速で入力するときに常に発生します。私が興味を持っているのは、悪いコマンドテキストが画面に表示された後の2.5秒(システム上)の一時停止の原因です。悪いコマンドを即座に認識し、エラーメッセージを出力しますが、楽しみのために2.5秒待ってからコマンドラインに戻ります。何が原因ですか?これを修正する方法はありますか?ちょっと面倒ですが、それを取り除きたいです。:) 編集:Fedora 16システムの実行
23 bash 

3
コンソールでコマンドをチェーンするにはどうすればよいですか?
ではbash、いくつかのコマンドをシリアルで実行したいことがありますが、新しいコマンドを入力する前にコマンドが終了するのを待ちたくありません。だから私はこのようなことをします: cmd1; cmd2; cmd3 残念ながら、コマンドの1つが失敗する可能性があります。その場合、私は停止したいと思います。これを行う簡単な方法はありますが、前のコマンドの終了コードが0の場合にのみコマンドを実行し続けるようにしますか?

3
この不可解なBashコマンドはどういう意味ですか?
私は悪意のあるコマンドに関するUbuntuフォーラムの警告を読んでいて、この興味深い宝石を見つけました。 :(){ :|:& };: 警告:上記のコードは、厳密なproc制限が設定されていない(おそらく設定されていない)場合にハードリスタートを要求しない限り、マシンをクラッシュさせます。 このコードは、実行に似ていると考えてくださいsudo rm -rf /。 しかし、それはどういう意味ですか?プログラミングの経験があっても、アセンブリ言語ではない暗号のようなコマンドを見たことはありません。
23 bash 

1
ログイン、非ログイン、インタラクティブ、および非インタラクティブbashシェルがあるのはなぜですか?
そのため、bashのマニュアルページでは、ログインシェルとインタラクティブシェルについて説明しています。 ログインシェルは、引数ゼロの最初の文字が-であるシェル、または--loginオプションで開始されたシェルです。 対話型シェルは、非オプション引数なしで起動され、標準入力とエラーの両方が端末に接続されている(isatty(3)によって決定される)-cオプションなしで起動されるシェル、または-iオプションで起動されるシェルです。PS1が設定され、bashが対話型の場合は$-にiが含まれ、シェルスクリプトまたはスタートアップファイルでこの状態をテストできます。 これは、4種類のシェルを使用できることを意味すると思います。 対話型ログインシェル、 非対話型ログインシェル、 対話型の非ログインシェル、 非対話型の非ログインシェル しかし、そもそもなぜ対話型/非対話型およびログイン/非ログインシェルがあるのでしょうか?なぜさまざまなのですか?シェルが1種類しかない場合、何が失われますか? また、実行してログインシェルにいるかどうかを判断しようとするとecho $-、次のように出力されます。 himBH これらのフラグのいくつかは説明されているここでは、しかしh、Hとm説明されていません。これらすべてのフラグを説明する場所はありますか?

5
Linuxパイプ記号「|」は何をしますか?[複製]
この質問にはすでに回答があります: 入力がBashのパイプに送信される方法を理解する (4つの回答) 5年前に閉鎖されました。 以下は、フォルダー内のファイルを逆順に並べ替えるコマンドです。 ls | sort -r |そのコマンドのシンボルは何をしますか? ここで本当に探しているのは、Linux初心者向けのパイプの高レベル(理解しやすい)説明です。スーパーユーザーにはパイプに関する他の質問がありますが、パイプの機能とリダイレクト(>または<記号)との違いを簡単に説明する答えを引き出すものはありません。

2
端末からsmb://user@100.100.100.100にcdする方法は?
コンピューターでubuntuとgnomeを使用しています。 ファイルブラウザを開くと、左側のレールに「Work Server」というフォルダが表示されます。マウスオーバーすると、「smb://john@69.100.100.1」というキャプションが表示されます。そのフォルダをクリックすると、そのフォルダの内容が表示されます。すべてが素晴らしいです。 ターミナル/シェルを開いたら、次のように入力します cd smb://john@69.100.100.1 ディレクトリが存在しないというエラーが表示されます。shell / terminal経由でこのディレクトリに入るにはどうすればよいですか?
23 bash  terminal  mount  smb 

3
バックワードキルワードをCtrl + wにバインド
Tcshの長期使用から最近のBashの調査に切り替えようとしています。 スペースとスラッシュを単語境界として扱うCtrl + wを除き、お気に入りのすべての機能を移植することができました。ただし、Bashでは、readlineは最初のスペースまですべて削除し、その間のすべてのスラッシュを削除します。 bindを使用して.inputrcと.bashrcの両方で\ Cw:backward-kill-wordのさまざまな組み合わせを試しましたが、希望どおりに動作させることができません。 面白いことに、職場のWindowsのPuttyを使用すると、Alt + Backspaceを使用できます。これは、マニュアルでもデフォルトのバインディングであり、必要な動作を実現できます。しかし、自宅のMacのTerminal.appでは、これは機能しません。Terminal.appからたまたまログインしたFreeBSDまたはLinuxサーバーについても同様です。 そこで、スーパーユーザーに助けを求めます。
23 bash  readline 

7
コマンドの同時数の上限と並行してコマンドを実行します
順次:for i in {1..1000}; do do_something $i; done-遅すぎます パラレル:for i in {1..1000}; do do_something $i& done-あまりにも多くの負荷 コマンドを並列に実行するにはどうすればよいのでしょうか? 今では通常for i in {1..1000}; do do_something $i& sleep 5; done、のようなハックを使用していますが、これは良い解決策ではありません。 更新2:受け入れられた回答をスクリプトに変換しました:http : //vi-server.org/vi/parallel #!/bin/bash NUM=$1; shift if [ -z "$NUM" ]; then echo "Usage: parallel <number_of_tasks> command" echo " Sets environment variable i …

3
vimに日付を挿入する方法
vimでは、「!」を使用してコマンドを実行できます。これを「r」と組み合わせて、出力を現在のバッファーに挿入できます。 :r!date Fri Jul 20 09:39:26 SAST 2012 日付をファイルに挿入します。 今、異なるフォーマット+%Fで日付のようなもっと面白いことをしようとしています。コマンドラインで $ date +%F 2012-07-20 ヴィムで :r!date "+%F" message.to.followup.lstF これにより、ファイルの名前が付けられ、その後にFが付けられます。r!date "+%F"がvimで展開され、コマンドラインで実行されない方法。それを実行して内容をvimに入れるために何をする必要がありますか。 たぶん、vimには日付をファイルに挿入するより良い方法があります。
23 linux  command-line  bash  vim  date 

7
数値の範囲を返す標準のUNIXプログラムはありますか
時代遅れの教科書からシェルスクリプトを学んでいるので、スペースで区切られた数字の文字列を返すだけのプログラムがあると本当に便利だと思う $ range 10 20 10 11 12 13 14 15 16 17 18 19 20 次に、シェルスクリプトを実行している場合は、 for i in `range 10 20`; do some stuff with numbers in that range;done そのようなものは存在しますか、それとも自分で書く必要がありますか?
22 bash  unix 

2
Mac OS Xの.profile
実行するように端末設定を設定しました: set -o vi 起動時に。問題は、新しいターミナルタブを開いたときにそのコマンドが実行されないことです。 OS Xに.profileのようなものがあり、そのコマンドを配置できますか?

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