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

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

1
crontabのエラーメッセージで「行19:12364 Killed」はどういう意味ですか?
私は毎日のcrontabタスクを受け取りました: 50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1 このdaily_taskシェルスクリプトは、いくつかのpythonスクリプトを実行し、データファイルを生成します。 そして、それは二晩失敗します。しかし、朝に来たとき、Pythonスクリプトを手動で実行して、データファイルを取得しました。または、日付のみを設定する新しいcrontabを設定したところ0 10 * * *、このcrontabも成功しました。 だから昨日、> /tmp/zen_log 2>&1エラーメッセージを受け取るためにcronタスクを入れました。 そして今朝、zen_logに次のエラーメッセージが表示されました。 /my_path/daily_task.sh: line 19: 12364 Killed /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 一部のプロセスが強制終了されたようですか?しかし、これline 19: 12364 Killedは正確にはどういう意味ですか? PS: 今日、1分前にpythonスクリプトを手動で実行すると、次のようになりました。 /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 Killed
10 bash  cron 

2
Ctrl + Cで、現在のコマンドを強制終了しますが、スクリプトの実行は続行します
私はライン、いつかのために睡眠してから実行して前記Iは、bashスクリプトを持ってtail -f、特定のパターンが見られていることを確認するために私のログファイルを、私はCtrl + Cを押してから抜け出すために、tail -fその後、bashスクリプトの終了の実行までに次の行に移動します: これが私がこれまでに行ったことです: #!/bin/bash # capture the hostname host_name=`hostname -f` # method that runs tail -f on log_file.log and looks for pattern and passes control to next line on 'ctrl+c' echo "===================================================" echo "On $host_name: running some command" some command here echo "On $host_name: sleeping for 5s" …
10 bash  shell  signals  trap 

1
シェルスクリプトで2つのコマンドを同時に実行することは可能ですか?
コマンドラインで&コマンドをバックグラウンドで実行できることを知っています。しかし、スクリプトでそれを実行できるかどうか疑問に思っています。 次のようなスクリプトがあります。 date_stamp=$(date +"%Y-%m-%d" --date='yesterday') shopt -s extglob cd /my/working/directory/ sh ./stay/get_it_ios.sh sh ./stay/get_it_mix.sh cd stay zip ../stay_$date_stamp.zip ./*201* rm ./stay/!(*py|*sh) そして、私が実行したいsh ./stay/get_it_ios.shとsh ./stay/get_it_mix.sh一緒に、より正確なデータを取得します。シェルスクリプトのスコープでこれを行うことは可能ですか?

1
LinuxでCSVをXLSファイルに変換する
次のPerlスクリプトはCSVファイルをXLSファイルに変換できます 問題は、顧客のLinuxマシンに多くのPerlモジュールをインストールする必要があることです。 このPerlスクリプトを実行するために、そして実際には私はできません。Linuxマシンは顧客のマシンだからです(モジュールをインストールすることはできません) そのため、このPerlスクリプトの他の代替手段を見つける必要があります 最初の顧客はLinux red-hatマシンバージョン5.Xを持っています そして、perlスクリプトと同じように機能するbash / ksh / sh / awkスクリプトを見つけたい CSVをXLSファイルに変換する他の代替策を見つけたい このスクリプトを見つける方法を教えてください。またはLinuxマシンでCSVをXLSに変換するためのその他のアドバイス #!/usr/bin/perl -w ############################################################################### # # Example of how to use the WriteExcel module # # Simple program to convert a CSV comma-separated value file to an Excel file. # This is more or less an …
10 linux  bash  shell-script  awk  perl 

3
ファイルからbashスクリプトに引数を渡す
私はこの状況を持っています: ./ ./myscript.sh ./arguments.txt ./test.sh 内部myscript.shでは、ファイルを実行test.shして、内部に含まれている引数をそれに渡さなければなりませんarguments.txt。 myscript.shは次のとおりです。 arguments=$(cat arguments.txt) source test.sh $arguments これは、arguments.txtに最大で1つの引数が含まれている場合にうまく機能します。 firstargument 置換は次のとおりです。 ++ source test.sh 'firstargument' しかし、問題は2つ以上の引数にあります。これを行います: ++ source test.sh 'firstargument secondargument' また、内部の引数の数は事前にわかりませんarguments.txt。ゼロ以上の場合があります。

3
xxdを使用して、文字列ではなく16進数のバイナリ表現を出力できますか?
プロトコルをテストするために、コマンドラインで16進数から生のバイナリパケットを生成したいと思います。アプリケーションを書くよりも、この方法で簡単にできることを願っています。 現在の状況は次のとおりです。 echo '0A' | xxd -b 0000000: 00110000 01000001 00001010 私が欲しいのは: echo '0A' | xxd -b 0000000: 00001010 または echo '0A' | xxd -b 0000000: 01010000 私は必要なエンディアンについて確信が持てないので。必要に応じて変更したい。これは達成可能ですか?

1
Bashは、保存時に更新を実行中のスクリプトに自動的に再読み込み(注入)します。なぜですか?何か実用的ですか?
私はbashスクリプトを書いていて、スクリプトがwhileループでの入力を待っている間に、コードを更新(スクリプトファイルをディスクに保存)していました。ターミナルに戻って前回のスクリプトの呼び出しを続行した後、bashはファイルの構文に関するエラーを出しました。 /home/aularon/bin/script: line 58: unexpected EOF while looking for matching `"' /home/aularon/bin/script: line 67: syntax error: unexpected end of file だから私は次のことをやってみました: 1つ目:スクリプトを作成し、self-update.sh呼び出しましょう。 #!/bin/bash fname=$(mktemp) cat $0 | sed 's/BEFORE\./AFTER!./' > $fname cp $fname $0 rm -f $fname echo 'String: BEFORE.'; スクリプトが行うことは、コードを読み取り、「BEFORE」という単語を「AFTER」に変更してから、新しいコードで自分自身を書き直すことです。 2回実行: chmod +x self-update.sh ./self-update.sh 第三不思議... aularon@aularon-laptop:~$ ./self-update.sh String: …
10 bash  shell  scripting 

3
どうすればbashのオートコンプリートワイルドカードを使用できますか?
ファイルを含むディレクトリがある場合 foo.bar.a.cat foo.bar.a.hat ls f+ TABbashシェルをオートコンプリートして+ と入力しls foo.bar.a.ます。私が入力した場合ls *bar*+ TAB私はそれがオートコンプリートしたいと思います*bar*.a.。これは可能ですか? これは質問に似ています bashでワイルドカードのタブ補完を有効にする方法は? しかし、「私にとっては箱から出してすぐに機能します」という提案された答えは機能しません。私も試しましたがTAB TAB、効果はありません。コマンド `` bash --version givesGNU bash、version 4.2.37(1)-release(x86_64-pc-linux-gnu) `。

2
$ BASHPIDと$$は異なる場合があります
「オレイリーのBASHポケットガイド」を読んでいます。と言いました: 現在のBashプロセスのプロセスID。場合によっては、$$と異なる場合があります。 上記の説明では、$BASHPID変数について説明しました。 質問:どのケースですか?


3
パスの最後のセグメントを削除するショートカットはbashにありますか?
Ca / Ce、Cu、Cw、Mf / Mb、Crなど、bashの実行を高速化する多くのbashショートカットキーにかなり習熟しました。パスの最後のセグメントを削除したい場合: 私が持っていると言います ls ~/projects/arcaneweb/libraries そして、私は実際に ls ~/projects/arcaneweb/sources を削除してlibraries、キーストロークの負荷を節約する方法はありますか?
10 bash 

1
.bashrcが実行されない
~/.bashrcいくつかのエイリアスが含まれているファイルを持つユーザー(非root)がいます。 しかし、ログイン時にファイルが実行されるようには見えません。私がするならsource ~/.bashrc、それはそれがすることになっていることをします。しかし、~/.bashrcログインするたびに実行されるとは限りませんか? 権限は644に設定されています(私のrootと同じですが、.bashrc正常に機能します)。問題のユーザーがファイルを所有しています。
10 bash  rhel  bashrc 

3
7zを使用して、ディレクトリ内のすべてのファイルとディレクトリ(非表示のものを含む)をアーカイブする方法
私のアーカイブのニーズの詳細のため、私は固体のtar.gzアーカイブに満足できず、代わりに7zを使用しています。 これを行うには、次のコマンドを使用します。 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/* 内部のすべてのアーカイブをファイル~/my/folder/として作成し~/my/folder.7zます。 しかし~/my/folder/.hiddenFolder、そのときはアーカイブに入りません。これを修正するには?*すべてのファイルとフォルダーを返す必要はありませんか?
10 bash  wildcards  7z 

1
バー付きのコマンドラインで複数の変数に値を割り当てる方法
基本的に、シェルコマンドの出力の特定の部分を複数の変数に割り当てようとしていますが、その方法がわかりません。 簡単にするために、シェル上のコマンドが実行されると、 one two three four これは、 echo "one two three four" (実際のコマンドは異なります) ここで、出力の2番目と4番目のワード(この場合は2と4)を変数w1とw2に割り当てます。 私は次のようにreadコマンドを使用できると思いました: echo "one two three four" | awk '{print $2 " " $4}' | read w1 w2 しかし、これは機能しません。おそらく、readコマンドがサブプロセスで実行されるためです。 それで、私は私が何を求めているかを達成するためにどうやって行きますか?
10 shell  bash 

3
`]`のトークン識別子は何ですか?
バッシュマニュアルは言う: [フォームを使用する場合、コマンドの最後の引数は]でなければなりません。 $ type [ [ is a shell builtin $ type ] bash: type: ]: not found つまり]、予約語でも、演算子でも、組み込みコマンドでもありません。 トークンとして、トークン識別子は]何ですか?WORDまたはNAME?
9 bash 

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