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

他のBourne / POSIXシェルとは対照的に、GNUのBourne Again SHellに固有の質問。Unixシェル全般に関する質問については、代わりに/ shellタグを使用してください。

3
BASH履歴に成功したコマンドのみを保持する
時々、コマンドの構文を誤解します。 # mysql -d test mysql: unknown option '-d' # echo $? 2 私はもう一度試して、それを正しくします: # mysql --database test Welcome to the MySQL monitor. mysql > ... エラーコードが0以外の最初のコマンドが履歴を入力するのを防ぐにはどうすればよいですか?



8
bashスクリプト内の履歴コマンド
履歴はシェル組み込みコマンドであり、BASHスクリプト内で使用できませんでした。だから、BASHスクリプトを使用してこれを達成する方法はありますか? ここで、私のスクリプトを紹介します。 #!/bin/bash history | tail -100 > /tmp/history.log cd /tmp uuencode history.log history.txt | mail -s "History log of server" hello@hel.com

5
Bash-同じ行の数字のシーケンス
seq整数のシーケンスを1行に1つずつ生成するコマンドを知っていますが、2つの質問をしたいと思います。 同じ行にシーケンスの番号を書くことは可能ですか? 空白で区切られた数字のシーケンスで構成される文字列を作成することは可能ですか?
20 bash  seq 

1
構文エラー:ファイルの予期しない終了— Bashスクリプト[終了]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 4年前に閉鎖されました。 スプリッツアプリを作成しようとしています。すべて正常に動作していましたが、昨日からこのエラーが発生し続けています。 ./spritz:176行目:構文エラー:予期しないファイルの終わり スクリプトファイルを確認しましたが、すべてが完璧に思えます。私は混乱しています、私はついにifステートメントを持っています、そしてそれは正しいようです!最後の部分は次のとおりです。 #checks if speed is 150 157 if [[ $2 -eq 150 ]]; 158 then 159 starttime=$SECONDS 160 FS=$'\n' 161 for j in `grep --color=always -iP '\b[^aeiou\s]*[aeiou][^aeiou\s]*\K[aeiou]' $1`; 162 do 163 #Reads the text file in the centre of the screen 164 echo " ___________________" …


3
サーバー上のすべてのユーザーでbash履歴を検索できますか?
Linuxサーバーで複数のユーザーアカウントで実行されたすべてのbashコマンドを確認したい。私が使用している特定のディストリビューションはCentOS 5.7です。サーバー上の.bash_historyファイルをグローバルに検索する方法はありますか、それともより自家製のプロセスlocate | cat | grepですか?(私はただそれを打ち込んで震えています)。

3
複数のファイルの内容をスクリプトの標準入力に供給するための略記
たとえば、スクリーンからいくつかの結果をscript読み取りstdin、画面に出力するというスクリプトがあります。 1つのファイルのコンテンツをフィードしたい場合は、次のように入力します。 $ ./script < file1.txt しかし、複数のファイルの内容を同じ方法でスクリプトにフィードしたい場合、どうしても可能ですか?これまでに思いついた最高のものは: cat file1.txt file2.txt > combined.txt && ./script < combined.txt 2つのコマンドを使用して、一時ファイルを作成します。同じことを行う方法はありますが、結合ファイルの作成をバイパスする方法はありますか?

4
前のコマンドが終了するまでbashスクリプトを一時停止する
次のようなbashスクリプトがあります。 ##script #!/bin/bash rm data* rm logfile* for i in {1..30} do ## append a & if you want to run it parallel; nohup Rscript --vanilla main.R 10 100 $i &> logfile"$i" & done 最初のループの後に別のforループを作成して、さらに30を継続したいと思います。たとえば、 ##script #!/bin/bash rm data* rm logfile* for i in {1..30} do ## append a & …
20 bash 

3
整数の比較:算術式または条件式
Bashでは、条件式を使用して2つの整数を比較できます arg1 OP arg2 OPはの一つである-eq、-ne、-lt、-le、-gt、または-ge。これらの算術二項演算子は、arg1がそれぞれarg2と等しい、等しくない、より小さい、以下、より大きい、またはより大きい場合にtrueを返します。Arg1およびarg2は、正または負の整数です。 または算術式: <= >= < > 比較 == != 平等と不平等 2つの整数を比較する方法が2つあるのはなぜですか?どちらを使用するか? たとえば、[[ 3 -lt 2 ]]条件式と(( 3 < 2 ))算術式を使用します。比較がtrueの場合、両方とも0を返します 2つの整数を比較する場合、これらの2つの方法は常に同じ意味で使用できますか?はいの場合、なぜBashには1つではなく2つのメソッドがあるのですか?

6
実行されたコマンドからエラーメッセージをキャプチャする方法
自動サーバー強化スクリプトを作成することを任されました。必要なことの1つは、実行された各コマンドのすべての出力のレポートです。エラーメッセージを文字列内に保存し、テキストファイルに追加したいです。 このコマンドを実行したとしましょう: /sbin/modprobe -n -v hfsplus 私のマシンでこれを実行すると、出力は次のようになります。 FATAL: Module hfsplus not found そのエラーメッセージを文字列内に保存するにはどうすればよいですか?どんな助けも大歓迎です。ありがとう!
20 bash  scripting  string 

3
Bashは文字列を正当化するために末尾のスペースを追加します
私の現在のコードは次のようになります:x=${y:0:40}文字列の長さを40文字に制限します。文字列が40文字より短い場合、末尾の場所をスペースで埋めることは可能ですか? だから私の場合 y="very short text" 私のyになりたい: y = "非常に短いテキスト(+25末尾のスペース) "
20 bash 


3
catを介してパイプされた場合、grepはEOFまで出力されません
この最小限の例を考えると ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) それを出力LINE 1し、その後、1秒後に、出力はLINE 2、として期待されます。 これをパイプすると grep LINE ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) | grep LINE 振る舞いは前のケースと同じで、予想通りです。 あるいは、これを cat ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" …
19 bash  grep  pipe 

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