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

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

2
Bash、^ Hと^をグローバルに修正する方法 バックスペースの問題
リモートサーバー上のシェルが端末のバックスペースキーを認識し、^?場合によってはそれ^Hを認識し、バックスペースキーを押したときに誤って誤った文字を出力するというこの頻繁な問題を修正したいと思います。^ Hまたは^に設定した場合 .bashrcファイルを使用して、stty erase ^Hまたはstty erase ^?他のターミナルを使用してサーバーにアクセスすると、しばしば間違ってしまいます。そのstty erase [whatever]ため、バックスペースキーが間違っていることに気付いたときに、手動で入力して修正する必要があります。 私がやりたいのは、バックスペース^?と両方にバインドする^Hことです。これができれば、すべての.bashrcファイルに追加するだけで、この悪夢は確実に終わります。これは可能ですか?もしそうなら、どのように?
12 linux  bash  terminal  shell  bashrc 

3
Bashプロンプトでチルダ〜を避ける方法は?
PS1変数内に表示されるチルダを削除したいと思います。 私の現在のPS1文字列: PS1="\h:\w\n$" プロンプトは次のようになります。 lnx-hladky:/tmp/plugtmp $ $ HOMEディレクトリがチルダとして表示されるのは好ましくありません。これは回避できますか? 問題を引き起こします、例: lnx-hladky:~/DOC $ ドキュメントは言う: \w : the current working directory, with $HOME abbreviated with a tilde \W: the basename of the current working directory, with $HOME abbreviated with a tilde $ HOMEがチルダで省略されるのを避ける可能性はありますか? 私は1つの方法を見つけましたが、それは複雑すぎると感じています: PROMPT_COMMAND='echo -ne "\e[4;35m$(date +%T)\e[24m$(whoami)@$(hostname):$(pwd)\e[m\n"' PS1=$ 誰でもより良い解決策を提案できますか?プロンプトを表示するためだけに多くのコマンドを実行しても大丈夫ではないと感じています。(日付、whoami、ホスト名、pwd)。

6
カスタムvim強調表示
私は今、いくつかのxmlを編集しており、戻ってくるものについていくつかコメントを残しています。このような <!-- Question: bla bla --> 私は今vimで編集していますが、vimで今すぐQuestionを強調表示して、コードを簡単に調べて、必要な場所をすべて見つけられるようにしたいと思います。私はvimrcに何かを追加する必要があることを知っていますが、間違ったものを探しているかもしれないと思います。 更新 私はこれを入れてみました.vimrcが、効果はありませんでした: syn keyword JakeAnnotation Question hi JakeAnnotation gui=bold term=bold cterm=bold 更新2 実際、私がこれを行うと、前に行ったことが何らかの効果をもたらしたことがわかります。 :hi 強調表示されているすべての項目が表示され、エントリの1つは次のとおりです。 JakeAnnotation xxx term=bold cterm=bold ctermbg=6 (およびxxxは正しくフォーマットされています) これは、私が質問を適切に定義していないことを忘れさせることにつながります。質問は単独で行にある必要がありますか? アップデート3 わかりましたので、ユーザー22303の投稿には、これが機能しています: highlight MyQuestion cterm=bold term=bold ctermbg=blue ctermfg=black match MyQuestion /Question/ ただし、ファイルごとに1つの一致しか許可されていないと思われます。私がこれをするとき: highlight MyQuestion cterm=bold term=bold ctermbg=blue ctermfg=black match MyQuestion /Question/ …

4
外部サーバーから別のサーバーへのSCP
ローカルサーバーでSCPを使用して、あるリモートサーバーから別のリモートサーバーにファイルをコピーしようとしています(両方のリモートサーバーがカスタムポート(xxxx)を使用しています) やっています: scp -r -P xxxx root@xxx.xxx.xxx.111:/home/myimages/images.tar.gz root@xxx.xxx.xxx.222:/home/myimages/images.tar.gz しかし、次のエラーが表示されます。 ssh: connect to host xxx.xxx.xxx.222 port 22: Connection timed out 助言がありますか?
12 linux  bash  ssh  scp 

6
Mac OS XでBashの実行時間をミリ秒単位で取得する方法は?
私がチェックした本を、しかし提供される解決策は私のために動作しませんでした。 日付を使用して、実行時間を秒単位で取得できます。 T="$(date +%s)" #some work here T="$(($(date +%s)-T))" echo "execution time (secs) ${T}" ただし、これを試してみると: T="$(date +%s%N)" #some work here T="$(($(date +%s%N)-T))" ナノ秒の精度を得るために日付に%N(上記のように)を追加すると、次のエラーが表示されます。 Mac OS Xでbashを使用して実行時間をミリ秒単位で測定する方法を知っている人はいますか?
12 macos  bash  unix 

3
特定の時間のBash Runコマンド?
私は自分の使用のためにbashスクリプトを作成しています。20秒など、特定の時間コマンドを実行してコマンドを終了するにはどうすればよいですか?私は多くの解決策を試しましたが、何も機能せず、タイムアウトコマンドも試しましたが成功しませんでした。これに対する解決策をいくつか教えてください。 例:10秒後にスクリプトとターミナルでこのコマンドを実行したい some command
12 bash  time  timeout 

5
htmlボタンを使用してシェルスクリプトを実行する
Webサイトでボタンが押されたときにbashスクリプトを起動したい。これは私の最初の試みです。 <button type="button" onclick="/path/to/name.sh">Click Me!</button> しかし、運はありません。助言がありますか? 編集- slhclkさんとMITのアドバイスを以下に示します。 / var / wwwにphpファイルがあり、それをWebブラウザに向けています。ファイルの内容は次のとおりです。 <?php exec("/home/aa/scripts/test.sh"); ?> tesh.shには次のものが含まれます。 screen -S server1 -X quit /home/aa/scripts/test.shシェルに入力すると、スクリプトを実行できます。ただし、Webブラウザでhttp://example.com/screen.php(上記のコードを含む)を指定すると、空白のページが表示され、スクリプトが実行されませんでした。両方に実行権限があります。なぜ機能しないのですか?
12 bash  shell  html 

1
端末のストリーム方向を逆にできますか?
この質問の言い方がわからないのですが、それだけです。端末がテキストを印刷する方法を逆にすることは可能ですか? たとえば、コマンドを入力する場合、ターミナルの下部から入力すると、出力は下部から生成されます。これを逆にできるかどうか知りたいので、上から入力し、出力は上からです。
12 bash  terminal  cmd.exe 

1
grepの複数の単語の「または」の正規表現
[Computer]$ grep "foo|bar" filename 上記のコマンドは、「foo」または「bar」が存在するファイル名の各行を返す必要があることを理解しています。マニュアルページで確認します| 正規表現またはシンボルとコードが「foo」と「bar」に対して独立して機能するため。何が欠けていますか?
12 bash  unix  regex  grep 

2
出力をdate -d“ value”にパイプするにはどうすればよいですか?
「2014-01-30 05:04:27 GMT」のような日付があり、date -d "2014-01-30 05:04:27 GMT"を実行すると、出力はサーバーのタイムゾーン( "Thu Jan 30 16:04:27 EST 2014」)。 grepとcutを使用して、ファイルからGMTで日付を抽出しました。しかし、これを現地時間に変換するのに苦労しています。 例えば: [user @ server log]#grep "something" logfile.txt | grep "成功" | カット-f1 -d '[' 出力:2014-01-30 05:04:27 GMT その出力を "date -d"に渡すために、最後に何を追加できますか? 試みました: [user @ server log]#grep "something" logfile.txt | grep "成功" | カット-f1 -d '[' | 日付-d …
12 linux  bash  grep  pipe  date 

4
ビットのテキストファイルをバイナリファイルに変換する
次instructions.txtの内容のファイルがあります。 00000000000000000000000000010011 00000010110100010010000010000011 00000000011100110000001010110011 00000000011100110000010000110011 00000000011100110110010010110011 00000000000000000000000000010011 instructions.binと同じデータのバイナリファイルを作成するにはどうすればよいですかinstructions.txt。言い換えると、.binファイルは、ファイル内の192ビットと同じで、.txt1行あたり32ビットでなければなりません。Ubuntu Linuxでbashを使用しています。使用しようとしてxxd -b instructions.txtいましたが、出力が192ビットよりずっと長いです。
12 linux  bash  binary-files  xxd 


3
`ssh <host>`はログインシェルですが、 `ssh <host> <command>`はログインシェルではありませんか?
ssh &lt;host&gt; &lt;command&gt;構文を使用してSSHホストでコマンドを直接実行すると.bashrc、.bash_profile(または.profile)の出力は表示されますが、出力は表示されないことに気づきました。 たとえば、次のコマンドを両方のファイルの先頭に配置すると、 echo ${BASH_SOURCE[0]} 手動でソースします.bash_profile(.bashrc順番にソースします)。 $ . .bash_profile .bash_profile .bashrc これは、ssh &lt;host&gt;コマンドの形式を使用して、SSH経由でこのコンピューターにリモートでログインした場合に表示される出力と同じです。(そして、.bash_profile一時的に別の場所に格納した場合、これらの行はどちらもエコーされません。) ただし、のssh &lt;host&gt; &lt;command&gt;形式でリモートマシンで直接コマンドを実行するとssh、出力は次のようになります。 $ ssh &lt;host&gt; echo foo /home/rlue/.bashrc foo 私の理解では、との違いということである.bash_profileとは、.bashrc前者がためであるということであるログインシェル後者はためのものであるインタラクティブ、非ログインシェル。 私は次のように結論しました: ssh &lt;host&gt;ソースのみ.bash_profile、一方 ssh &lt;host&gt; &lt;command&gt;ソースのみ.bashrc、つまり 前者はログインシェルであり、後者はそうではありません。 これらの結論は正しいですか?がssh &lt;host&gt; &lt;command&gt;インタラクティブな非ログインシェルとして扱われるのはなぜですか?SSHはまだリモートマシンにログインしてコマンドを実行していませんか?

2
「kill%1」の%1はどういう意味ですか?
$!最後の(バックグラウンド)プロセスのpidが格納されていることは知ってい%1ますが、どういう意味ですか?と一緒によく見ますkillが、と同じ効果がありkill $!ます。誰かが私にヒントを与えることはできますか?(そのような小さな用語はグーグルするのがとても難しい:-/)
12 bash  kill 

5
ファイルを見つけてサイズを合計するにはどうすればよいですか?
一連のファイル(ワイルドカード式に基づく)を見つけて、それらのディスク使用量を合計したいと思います。 このようなもの: $ find . -name 'flibble*' -ctime +90 -exec du -sh {} \; 2.1G ./flibble_116.log 2.1G ./flibble_83.log 2.1G ./flibble_211040_157.log 2.1G ./flibble3747_51.log この作品。しかし、それは私が探している結果を生み出しません。各ファイルで使用されているスペースfindが繰り返し表示されます。 必要なのは、du見つかったすべてのファイルの合計です。
12 linux  bash 

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