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

Bash(Bourne-Again SHell)は、Ubuntuのコマンドラインインターフェースでデフォルトで使用されるシェルです。


8
次の行に折り返すために長いコマンド行を取得するにはどうすればよいですか?
Ubuntuで長い間気づいていたことは、新しい行に折り返すのではなく、端末の幅よりも長い(幅の広い)コマンドラインでコマンドを入力しているときです同じ行の1列目で、コマンドラインの先頭の上書きを開始します。(実際のコマンドは実際には上書きされませんが、視覚的には、表示されたテキストが上書きされます)。 見ずに説明するのは難しいですが、端末の幅が20文字(私の場合は120文字に近い-例のため)で、英語のアルファベットをエコーし​​たいとします。私が入力するのはこれです: echo abcdefghijklmnopqrstuvwxyz しかし、キーを押す前の私の端末は次のようになっています。 pqrstuvwxyzghijklmno Enterキーを押すと、エコーします abcdefghijklmnopqrstuvwxyz そのため、コマンドが正しく受信されたことがわかります。「o」の後にタイピングをラップし、同じ行で最初からやり直しました。 幅が20文字しかない端末でこのコマンドを入力すると、次のようになります。 echo abcdefghijklmno pqrstuvwxyz 背景:私はシェルとしてbashを使用しており、〜/ .bashrcに次の行があります。 set -o vi VIコマンドを使用してコマンドラインをナビゲートできるようにします。現在、Ubuntu 10.10サーバーを使用しており、Puttyでサーバーに接続しています。 私が働いていた他の環境では、長いコマンドラインを入力すると、コマンドが端末の幅より長くなり、入力し続けると、作業中の行の下に新しい行が追加され、コマンドが表示されます2つの異なる行。しかし、Ubuntuの使用を覚えている限り、私の長いコマンドは1行しか占有しません。 これは、履歴内の前のコマンドに戻るときにも発生します(Escを押してから「K」を押して前のコマンドに戻る)-端末幅より長い前のコマンドに到達すると、コマンドラインが取得されますマングルされ、コマンドのどこにいるのかわかりません。 長いコマンド全体が表示されることがわかった唯一の回避策は、「Esc-V」を押すことです。これにより、VIエディターで現在のコマンドが開きます。 .bashrcファイルに奇妙なものはないと思います。「set -o vi」行をコメントアウトしましたが、まだ問題がありました。 Puttyの新しいコピーをダウンロードし、構成に変更を加えませんでした。接続するためにホスト名を入力しただけで、まだ問題があります。構成を変更します) 他の誰かがこの問題を抱えていて、誰もそれを修正する方法を考えることができますか? 編集 それは私の.bashrcファイルでした。同じプロファイルをマシンからマシンにコピーし、$ PS1で特殊文字を使用して、何らかの形でそれをスローしました。私は今、私の$ PS1の標準bash変数に固執しています。 .bashrcのヒントを提供してくれた@ændrükに感謝します! ...編集の終了...
108 command-line  bash 

4
「exec」コマンドは何をしますか?
bashコマンドがわかりませんexec。これをスクリプト内で使用して、すべての出力をファイルにリダイレクトするのを見ました(これを参照)。しかし、私はそれがどのように機能するのか、それが一般的に何をするのか理解していません。マニュアルページを読みましたが、理解できません。
107 bash 

7
.shファイルを実行できません:/ bin / bash ^ M:不正なインタープリター
私はシェルスクリプトを実行したかった: -rwxr-x--x 1 root root 17234 Jun 6 18:31 create_mgw_3shelf_6xIPNI1P.sh 標準手順を実行しようとしましたが、このエラーが発生しました: ./create_mgw_3shelf_6xIPNI1P.sh localhost 389 -l /opt/fews/sessions/AMGWM19/log/2013-06-06-143637_CLA-0 DEBUG cd/etc/opt/ldapfiles/ldif_in ; ./create_mgw_3shelf_6xIPNI1P.sh localhost 389 -l /opt/fews/sessions/AMGWM19/log/2013-06-06-143637_CLA-0 **ERROR sh: ./create_mgw_3shelf_6xIPNI1P.sh: /bin/bash^M: bad interpreter: No such file or directory** どういう意味ですか?私はグループのroot下のユーザーとしてこれをしていましたroot。 ファイルにrootユーザーの正しい権限がないことを意味しますか?

11
スクリプトは、rootとして実行されているかどうかをどのように確認できますか?
単純なbashスクリプトを書いていますが、rootとして実行されているかどうかを確認するために必要です。おそらくそれを行うための非常に簡単な方法があることは知っていますが、その方法はわかりません。 ただ、明確にする: スクリプト記述するための簡単な方法何foo.shを指示するように、./foo.sh出力0、およびコマンドのsudo ./foo.sh出力は1?
104 bash  scripts  root 

3
ターミナルコマンドプロンプトでのユーザー、ホスト、ディレクトリ情報の色の変更
のコマンドプロンプトの色、user@computerおよびプロンプト表示の現在のディレクトリとコマンド部分を変更することはできますか? OSXユーザーがこのようなことをするのを見たことはありますが、gnomeターミナルで同じことをする方法がわかりません(前景と背景の色のみ変更できます)。 長いフォーマットされていないメッセージにより、どの行がコマンドであり、どの行が出力であるかを区別することが難しくなるため、たとえば、エラーのあるプログラムをコンパイルしようとする場合に非常に役立ちます。


9
シェルスクリプトでエイリアスを実行する方法は?
mpiexec完全なパスが.exeである実行可能ファイルがあります~/petsc-3.2-p6/petsc-arch/bin/mpiexec。このコマンドを別のディレクトリで(パス全体を再入力することなく)実行したいので、ホーム.bashrcファイルにエイリアスを設定します。 alias petsc="~/petsc-3.2-p6/petsc-arch/bin/mpiexec" mpiexec次のように入力すると、コマンドプロンプトでこのファイルを簡単に実行できます。 petsc myexecutable script新しいエイリアスpetscをコマンドとして使用して、という名前のシェルスクリプトファイルを記述しようとしました。シェルスクリプトに(を使用してchmod)適切なアクセス許可を与えた後、スクリプトを実行しようとしました。ただし、次のエラーが表示されました。 ./script: line 1: petsc: command not found mpiexecファイルへのフルパスを書き込むことができることはわかっていますが、新しいスクリプトを作成するたびにフルパスを書き込むのは面倒です。petscスクリプトファイル内でエイリアスを使用する方法はありますか?編集し.bashrcたり.bash_profile、これを実現する方法はありますか?
101 bash  scripts  alias 



4
矢印キー、ホーム、エンド、タブ補完キーがシェルで機能しない
私はvmにubuntu minimal(mini.iso)をインストールしました。次に、リカバリモードを使用してrootとしてログインし、アカウントを作成しuseradd -m admin、パスワードを設定しますpasswd admin。 新しいアカウントでログインすると、通常のプロンプトではなく、$サインしか表示されません。コマンドまたはファイル名をタブ補完しようとすると、通常のタブが印刷されます。私は、矢印キーを使用しようとする場合には、印刷し^[[A、^[[B、^[[Cまたは^[[D。また、ls色を追加しなくなりました。 これらの問題はいずれも回復モードにはありませんでした。どうすれば修正できますか?

2
Enterキーを押すと、改行ではなく^ Mが生成されます
たとえばtail -f、ファイルをread入力している場合、またはユーザー入力を入力している場合、stdout を終了したり改行を追加したりする代わりに、ターミナルで<Enter>生成^Mしreadます。^J正常に動作します。 私はよsshそれが重要な場合は、Ubuntuのシステムにする。これは、zshとbashの両方で起こります。私が試した解決策の1つは、zshで^Mto ^Jを再マッピングすることですが、それでも根本的な問題は解決しないようです。誰がこれを引き起こしているのか知っていますか? 編集:いくつかの質問に答えるためにssh、OSXからUbuntuに参加しています。iTermとzshを使用しています。また、Ubuntuマシンでtmuxを使用していることを忘れていました。 編集2:質問を見逃しました。入力すると、OSXとUbuntuの両方でCtrl-V Enter取得でき^Mます。 編集3:OSXおよびUbuntuでecho $TERM生成されscreen-256colorます。
94 command-line  bash  zsh 

13
.ssh / configでパスワードを設定して自動ログインを許可できますか?
Ubuntu 11.10を使用しています。私はssh毎日多くのサーバーに接続するために使用しているので、次のように.ssh/configファイルにパラメーターを入れます。 Host Home User netmoon Port 22 HostName test.com このファイルに各接続のパスワードを入力する方法はありますか。そのため、サーバーがパスワードを要求すると、端末はパスワードを入力してサーバーに送信しますか? これが必要なのは、時々PCから離れて、戻ったときにパスワードを入力してEnter、端末が押すと言うからCONNECTION CLOSEDです。 PS公開/秘密キーペアを使用したくありません。



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