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

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

3
シェルスクリプトでの$ {1 +“ $ @”}の意味と、「$ @」との違いは何ですか?
Perlのドキュメントでは、perlrun(1)は、バイリンガルシェル/ Perlヘッダーを使用してPerlスクリプトを起動することを提案しています。 #!/bin/sh #! -*-perl-*- eval 'exec perl -x -wS $0 ${1+"$@"}' if 0; どういう${1+"$@"}意味ですか?"$@"代わりに(Bashを/ bin / shとして使用して)使用してみましたが、同様に機能するようです。 編集 以下の2つの回答は、にあるはずだと言っています${1:+"$@"}。${parameter:+word}bash(1)で文書化されている( "Use Alternate Value")構文を知っています。しかし、私は納得できません。なぜなら 両方${1+"$@"}と"$@"うまく、パラメータがない場合でも作業。としてsimple.shを作成した場合 #!/bin/sh eval 'exec /usr/bin/perl -x -S -- $0 "$@"' if 0; #!perl use Data::Dumper; print Dumper(\@ARGV); およびquestion.shとして #!/bin/sh eval 'exec /usr/bin/perl -x -S -- $0 ${1+"$@"}' …
43 bash  shell  perl 



3
execを使用して後続のすべてのコマンドのstderrをリダイレクトします
すべての出力を1つのファイル、デバッグログ、およびターミナルにリダイレクトする必要があるbashファイルがあります。stdoutとstderrの両方をデバッグにリダイレクトし、スクリプト内のすべてのコマンドのログを記録する必要があります。 2>&1 | tee -a $DEBUGファイル内のすべてのコマンドに追加する必要はありません。私は一緒に暮らすことができました| tee -a $DEBUG。 私のようなものでそれをする方法があったことを覚えていますexec 2>&1。 現在、私は次のようなものを使用しています: #!/bin/bash DEBUGLOG=/tmp/debug exec 2>&1 somecommand | tee -a $DEBUGLOG somecommand2 | tee -a $DEBUGLOG somecommand3 | tee -a $DEBUGLOG しかし、それは機能しません。誰かが解決策を持っていますか/原因を説明できますか?





4
ヒアドキュメントに「$」を印刷する方法
bashのhere-docで「$」をエコーするにはどうすればよいですか? たとえば、のようなリモートサーバー上のコンテンツを含むファイルが必要です$ABC=home_dir。 $ ssh hostname sudo -s <<EOF echo "$ABC=home_dir" > file EOF ただし、変数として扱われます。リテラルを印刷するにはどうすればよい$ですか?
42 bash  shell  quoting 

7
[AZ]がbashの小文字と一致するのはなぜですか?
私が知っているすべてのシェルrm [A-Z]*で、大文字で始まるすべてのファイルを削除しますが、bashでは、これは文字で始まるすべてのファイルを削除します。 この問題は、bash-3およびbash-4を使用するLinuxおよびSolarisに存在するため、libcのバグのあるパターンマッチャーや、誤って設定されたロケール定義が原因のバグではありません。 これは奇妙で危険な動作を意図したものですか、それとも長年にわたって修正されていない単なるバグですか?
42 bash  shell  wildcards  locale 

2
`cat <> file`はどのように機能しますか?
cat &lt; fileファイルの内容を標準出力に出力します。 cat &gt; fileCtrl+ Dが検出され、入力テキストがfileに書き込まれるまでstdinを読み取ります。 cat &lt;&gt; file、少なくとも私のバージョンのBashでは、ファイルの内容を(エラーなしで)うまく印刷しますが、ファイルを変更したり、変更タイムスタンプを更新したりしません。 Bash規格&gt;は、3番目のステートメントで無視されているように見えることをどのように正当化しますか?さらに重要なことは、それは何かをしているのですか?


5
環境変数とは正確には何ですか?
これVARIABLE=valueにより環境変数がexport VARIABLE=value作成され、現在のシェルで作成されたプロセスで使用できるようになります。envは現在の環境変数を示していますが、どこにありますか?環境変数(またはそのことについては環境)を構成するものは何ですか?


1
ターミナルでvimキーバインディングを使用することはできますか?
私はvimバインディングに慣れてきて(wを押して単語に行く、dwを押して単語を削除するなど)、そのモード(挿入、通常、視覚)、そして好奇心から知りたい: vimから端末へのモードとバインディングのこの動作の実装の種類は? 挿入モード、通常モードなどがあります...
42 bash  shell  terminal  vim  zsh 

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