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

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

1
キーの組み合わせを押した後にterminal / ttyに表示されるこの「(arg:1)」とは何ですか?
仮想端末で(誤って)Win+ 1を押して、 (arg: 1) Win押し続ける限り、押した数字はすべて括弧内の数字に追加されます(例:Winand 1+ 4yields)(arg:14)。 (リリース後Win)キーを押すと、その文字が数字の読み取り回数だけ印刷され、(arg: ...)式が標準プロンプトに置き換えられます。 誰がここで何が起こるか知っていますか?

2
ターミナルの各コマンドを異なるメッセージまたはサウンドで自動的に終了します
SVOX pico2waveをインストールし、スクリプトを作成しました。今私が入るとき: speech "Hello world" コンピューターのテキスト音声エンジンが「Hello world」と大声で言います。さらに、次のように定義され.bashrcた変数で使用しますPROMPT_COMMAND。 PROMPT_COMMAND="speech 'Command executed.'" そのため、素敵なテキストから音声へのエンジンは、ターミナルでプロンプトを返す前に、コマンドが実行されたことを大声で知らせます。 しかし、これはしばらくすると退屈になります。ターミナルで各コマンドを終了し、コンピューターが異なるテキスト行を話すのは本当にクールだと思いました(Starship Enterpriseの自動操縦を考えてください)。 そこで、.bashrcに異なるメッセージを使用して配列変数を作成しました。 array[0]="Shields at 90%" array[1]="Engaging proton overdrive" array[2]="Autopilot disengaged" array[3]="Targetting solution available" array[4]="Alert. Incoming missile." array[5]="Deploying countermeasures." array[6]="Firing torpedoes." array[7]="Engaging auto-cannon." array[8]="Severe damage on deck 17. Sealing off." array[9]="Deploying repair droids to deck 17." 私が望むのは、ターミナルでコマンドを実行するたびに、変数PROMPT_COMMANDが更新され、配列内の異なるランダムな行を読み取ることです。 ループが必要だと思いますが、その作り方がわかりませんでした。 どんな助けにも感謝します。ありがとうございました。


3
との差 '。' 、 '?' および正規表現の「*」
これらの3つの要素(これらはメタキャラクターと呼ばれますか?)がどのように異なるかについての例を得ることができますか? 私はそれが*すべてか何も意味しないことを知っていますが、それについて考える正しい方法であるかどうかはわかりません。一方.と?同じように見えます。それらは1文字に一致しますよね?
21 bash  regex 

4
sudoを必要とするbashスクリプトで一度だけパスワードを入力する方法
データ このマシンのオペレータユーザーに自分のcifs共有をマウントしてほしい sudoersファイルがすでに含まれている/bin/mount -t cifs //*/* /media/* -o username=*すべての演算子のためのコマンドを ユーザーにcifs、2回ではなく1回だけパスワードを入力するスクリプトを使用して共有をマウントしてもらいたい。 sudoパスワードとcifsパスワードは同一です。 私がすでに持っているもの このスクリプトは動作します: #!/bin/bash sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER' ... しかし、ユーザーは同じパスワードを2回入力する必要があります! 一度だけ sudo マウント自体に1回 これも機能します: #!/bin/bash echo -n Password: read -s szPassword echo $szPassword | sudo -S sh -c 'echo $szPassword | mount -t cifs //192.168.1.1/home /media/$USER/home …
21 bash  scripts  sudo 

4
テキストファイルから行を読み取り、各行の名前ごとにテキストファイルを作成する
次のようなテキストファイルがあるとします。 john george james stewert すべての名前を別々の行に入れます。 :私は次のように、このテキストファイルの行を読み、それぞれの名前のテキストファイルを作成したいjohn.txt、george.txtなど Bashでこれを行うにはどうすればよいですか?

2
.bashrcファイルとは何ですか?
.bashrcファイルが何であり、正確に何をするかについての明確な情報を見つけることができないようです。 これまでのすべての助けてくれてありがとう。このスクリプトは、カラーリング、補完、エイリアス、シェル履歴などのすべてを実行しているようです。有用ではないと思われるものはありますか?
21 bash  bashrc 


5
bashショートカットキーのリストを取得するためのマニュアルはありますか?
作業を簡単かつ迅速にするために、bashコマンドラインを操作するときに使用するショートカットが多数あります。 のような: ctrl+ L:画面をクリアします ctrl+a / ctrl+ e:行の開始/終了を移動します ctrl+r:文字をほとんど書かずにコマンドの履歴を検索する ctrl+ u/ ctrl+y:行をカット/ペーストします。 そしてもっとたくさん、私が知りたいこと、そしてそれは間違いなく学ぶのに役立つでしょう。 Ubuntuのこれらのショートカットのリストはどこから入手できますか?これらのショートカットをリストしたマニュアルはありますか? 注意: ショートカットとそのアクションの一覧を1か所で取得したい。短時間でそれらの多くを学ぶことは本当に役立ちます。このようなリストを取得する方法はありますか?ここに答えてくれてありがとう。

7
サーバー上のすべてのユーザーによるすべてのBashコマンドをログに記録する方法は?
私たちの小さな会社はUbuntu Server 11.10を実行しており、そこに数人がSSHアクセスを持っています。実際の端末も時々使用されます。すべてのBashコマンドの実行をユーザーとタイムスタンプと共にローカルに記録するにはどうすればよいですか? 誰も悪名高くなく、積極的にロギングを回避しようとしていると想定できますが、ユーザーがログファイルに直接書き込みアクセスできないようにしたいのです。同時セッションは正しく処理する必要があります。
21 bash  logging 

4
Ubuntuでbashに呪いの言葉を教えるにはどうすればよいですか?
bashが不明なコマンド(単語?)に遭遇すると、次のようになります。 The program 'hello' can be found in the following packages: * hello * hello-debhelper Try: sudo apt-get install <selected package> 私が知りたいのは、これがどのように行われるかですので、編集するか何かを追加してから、自家製の辞書から未知の単語をクロスチェックして、phrase:replyペアが出力に送信されるようにします。 私はそれについて十分に見ていないことの罪を犯している..しかし、私が掘り出そうと試みたいくつかのbashガイドはこれに関して何も持っていませんでした。多分私は間違った場所を見ています..ポインタ? そして、はい、私はこれをやっているので、プログラムが失敗したときにwtfを入力するたびに、私は何か素敵なものを私に投げ返したいです...
21 bash  bashrc 

4
コマンド(たとえば、diff)からの出力を変数に保存する方法
diffnone からの出力があるかどうか(ファイルが同じかどうかをテストする)をテストしますecho "Passed $x" else echo "Failed $x"。私はいくつかの中間的なステップを考え出しました(diffからの出力をファイルに保存してから、ファイルから読み取ります) diff "./helloworld$x.out" "./output/helloworld$x.out" > tmp.txt; output="`cat tmp.txt`"; if [ "$output" = "" ]; then echo "Passed $x"; else echo "Failed $x"; fi; コードを改善できると確信していますか?主な質問は、出力をdiff変数に直接保存することは可能ですか?
21 bash 

1
〜/ .bashrcファイルはどの時点で作成されますか?
たとえば、コマンドを実行する場合adduser test、ユーザーのホームディレクトリの作成時に.bashrcが自動的に作成されますtestか?ユーザーの作成時に作成されない場合、どのような条件下で作成されますか? また、.bashrcファイルをユーザーのホームディレクトリに追加すると、OSによって上書きされますか? 前もって感謝します。

1
スクリプトで、ファイルが別のプロセスによって現在書き込まれているかどうかをどのように判断できますか?
私はbashスクリプトを始めたばかりなので、間違ったツリーを探しているかもしれませんが、現在の状況は次のとおりです。 スクリプトでは、sofficeを開始します。ODTをPDFに変換するには sofficeは、スクリプトのプロセスから切り離され、独自のことをするためにさまようように見えます。GUIアプリはそうする傾向があります... ただし、次のステップではその新しいpdfを処理する必要があるため、新しいpdfが完全に書き込まれるまで待つ必要があります。 (私の知る限り)sofficeのプロセスIDは、スクリプトの開始前に既に実行中のプロセスであった可能性があるため、利用できません。sofficeは、別の無関係なドキュメント/プレゼンテーション/スプレッドシートの通常のGUIアクティビティ用にすでに開いている場合があります。 私にとって問題の核心は、先に進む前に、新しいpdfの作成を完了しなければならないということです... ファイルが「書き込み」モードで別のプロセスに対して開かなくなったときを判断する方法はありますか?...

1
動作しているが削除されている間にshファイルを読み取るにはどうすればよいですか?
インタビューで、彼らは私にこの質問をしました。 既に実行中のshファイルがありましたが、実行を開始してから削除されました。 彼らは私にプロセスを見つけてファイルを読んでもらいたい。 私はプロセスを見つけることができました ps -ef | grep test.sh を使用して読み込もうとしました cat /proc/PID/cmdline test.sh しかし、それは言います no such file or directory 次に何をすべきか分からなかったので、これをスキップしなければなりませんでした。 たぶんそれは簡単な質問だったかもしれませんが、それは私にとって本当に良い質問であり、答えを本当に知りたいです。助けてもらえますか?

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