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

シェルは、Unixのコマンドラインインターフェイスです。シェルにインタラクティブにコマンドを入力するか、スクリプトを記述してタスクを自動化できます。/ bin / shおよび最も互換性のあるシェル(ash、bash、ksh、zshなど)に適用される質問には、このタグを使用します。エラーのあるシェルスクリプトについては、ここに投稿する前にhttp://shellcheck.netで確認してください。

3
|の使用 $ variableからのパイプ文字は、それをbashの別の引数として扱います。それを脱出する方法?
私はこのようなbashスクリプトを持っています export pipedargument="| sort -n" ls $pipedargument しかし、それはエラーを与えます ls: |: No such file or directory ls: sort: No such file or directory に"| sort -n"渡された引数としての内容を扱っているようlsです。 通常のパイプコマンドとして扱われるように、どうすればエスケープできますか? 条件付きでを設定しようとしています$pipedargument。私はコマンドの異なるバージョンを条件付きで実行することができると思いますが、これを上記のように機能させる方法があるかどうか疑問に思いますか?

3
apt-get update終了ステータス
のステータスをどのように確認しますapt-get updateか? $ apt-get update ; echo "status is: $?" Err http://security.debian.org stable/updates Release.gpg Could not resolve 'security.debian.org' Hit http://192.168.1.100 stable Release.gpg Hit http://192.168.1.100 stable Release Hit http://192.168.1.100 stable/main i386 Packages Hit http://192.168.1.100 stable/contrib i386 Packages Hit http://192.168.1.100 stable/non-free i386 Packages Ign http://192.168.1.100 stable/contrib Translation-en Ign http://192.168.1.100 stable/main Translation-en Ign …
8 shell  apt 

3
文字列のn番目の文字の大文字と小文字を変更する
私は、文字列中のn番目の文字の大文字と小文字を変更するBASH(例えば、または任意の他の* nixのツールsed、awk、tr、など)。 文字列全体の大文字と小文字を次のように変更できることを知っています。 ${str,,} # to lowercase ${str^^} # to uppercase 「テスト」の3文字目の大文字を大文字に変更できますか? $ export str="Test" $ echo ${str^^:3} TeSt


3
日付の取得について-n日の日付
変数に特定の日付が格納されているとしますdate_m。((date_m)-25)デートしたい。 例:15/09/2014変数に保存した後、変数に21/08/2014保存された日付から25を引いた場合に返されます。
8 shell  date 

2
コマンド出力から行を読み取る方法はありますか?
ファイルを出力するための前処理コマンドがあります ./preprocess.sh > preprocessed_file そして、preprocessed_fileこのように使用されます while read line do ./research.sh $line & done < preprocessed_file rm -f preprocessed_file while read linepreprocessed_fileに出力する代わりに、出力をパーツに送る方法はありますか?このtempを使用する以外にもっと良い方法があるはずだと思いますpreprocessed_file。

2
ケースステートメント外の変数の割り当て
多くの言語では、caseステートメント内で変数の割り当てを何度も繰り返すのではなく、case / switchステートメントの結果を変数に割り当てることができます。Bashシェルでこのようなことを行うことは可能ですか? color_code=$(case "$COLOR" in (red) 1;; (yellow) 2;; (green) 3;; (blue) 4;; esac) (または、余談ですが、他のシェルでは?)

1
シェルスクリプトを配布する適切な方法
シェルの動作が変更可能でset予測できない場合、シェルスクリプトを配布する最も適切な方法は何ですか? たとえば、rm *.txt実行された環境では期待どおりに実行されませんset -f。がどのrm *.txt環境でも現在のディレクトリにあるすべてのテキストファイルを削除することを確認するにはどうすればよいですか? 一般的に配布する前に、シェルスクリプトが期待どおりに実行されることを確認するにはどうすればよいですか?

4
ifステートメントのあるawk
awkを使用してファイルから印刷しようとしていますが、出力が空です。これが私のコードです accountNum=$1 while read -r LINE || [[ -n $LINE ]] ; do awk -F',' '{ if($1==accountNum) { print $3.$2 } }' Accounts done < Accounts 私もこれを試しました: accountNum=$1 while read -r LINE || [[ -n $LINE ]] ; do echo $LINE | awk -F',' '{ if($1==accountNum) { print $3.$2 } …
8 shell  scripting  awk 

4
ヘルプのソースは何ですか?
help 組み込みコマンドに関する情報を表示します。ヘルプのソースは何ですか?組み込みコマンドのデータベースを維持していますか、それとも各組み込みコマンドのいくつかのファイルを読み取りますか(各ユーティリティのマンページと同様)。 時々私はその情報がそれを拡大しているように見えるのを見つける --help $ cd --help bash: cd: --: invalid option cd: usage: cd [-L|[-P [-e]]] [dir] $ help cd cd: cd [-L|[-P [-e]]] [dir] Change the shell working directory. Change the current directory to DIR. The default DIR is the value of the HOME shell variable. The variable …
8 shell 

2
grep regexに応じて出力をリダイレクトする
gradle runRESTサーバーの起動に使用しています。RESTサーバーの出力は次のようになります。 XXX.XXX.XX.XXX - <moreinfo> randomtext randomtext XXX.XXX.XX.XXX - <moreinfo> XXX.XXX.XX.XXX - <moreinfo> randomtext XXX.XXX.XX.XXX - <moreinfo> XXX.XXX.XX.XXXこれはIPアドレスです。ランダムテキストはエラーメッセージです。悲しいことに、すべての出力はstdoutに送られます。 IPアドレスで始まるすべての行を、呼び出されたファイルに転送し、err.log他のすべての行に転送するにはどうすればよいall.logですか 残念ながら、gradle runこれはRESTサーバーであるため、1回しか起動できず、停止しません。 多分tee、grep組み合わせを使用しますか?

2
bcを使用してstdinから受け取った数値を合計できません
フォルダに含まれるファイルの平均エントロピーを計算しようとしています: { echo '('; find . -type f -exec entropy {} \; | \ grep -Eo '[0-9.]+$' | \ sed -r 's/$/+/g'; echo '0)/'; find . -type f | wc -l; } | \ tr -d '\n' | bc -l entropy ファイルのシャノンエントロピーを計算する実行可能ファイルであり、次の形式の出力を提供します。 $ entropy foo foo: 5.13232 前述のコマンドは、次のエラーでエラーになります。 (standard_in) 1: …
8 bash  shell  bc 

1
これらの4つのコマンドの違いは何ですか(fifo、プロセス置換、リダイレクト…)
私の目標は、ncおよびを使用して単純なエコーサーバーを作成することfifoです。私はそれを行うための最良の方法を探しているのではなく、単に次のコマンドのセマンティクスを理解しようとしているだけです(フォークが発生するのはいつ、なぜ、何が変わるのか、なぜコマンドの動作が異なるのか...)。 すべてのコマンドは、POSIXで動作する場合、私はわからないので、私は、バッシュを使っていshたりzsh、ksh... タイトルで言及している4つのコマンドを次に示します(既に実行したと想定していますmkfifo fifo)。 cat fifo | nc -l localhost 8888 > fifo exec 3<> fifo && nc -l localhost 8888 <&3 >&3 && exec 3>&- nc -l localhost 8888 <(cat fifo) > fifo nc -l localhost 8888 < fifo > fifo 今、私は4つのコマンドが同じことをすることを期待しています、少なくとも最後の2つは同じことをすることです。 最初のコマンドは期待どおりに動作します。クライアントが接続を閉じるとシャットダウンする単純なエコーサーバーです。 1のように動作します。 サーバーに接続してデータを送信できますが、何も返されません。クライアント接続を閉じると、サーバーがシャットダウンします。 サーバーに接続できません。サーバーは永久に待機します。


2
suが提供するシェルに引数を渡す
man su 言う: You can use the -- argument to separate su options from the arguments supplied to the shell. man bash 言う: -- A -- signals the end of options and disables further option processing. Any arguments after the -- are treated as filenames and arguments. An argument of …
8 bash  shell  su  options 

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