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

「シェル」という用語は、UnixおよびLinuxオペレーティングシステムに最も頻繁に関連付けられている、テキストベースの対話型コマンドインタープリターの一般的なクラスを指します。シェルスクリプトに関する質問については、「bash」、「powershell」、「ksh」などのより具体的なタグを使用してください。特定のタグがない場合は、ポータブル(POSIX準拠)ソリューションを想定する必要がありますが、「posix」を追加するか、代わりに「sh」を使用することをお勧めします。

5
非同期シェルコマンド
シェルスクリプトを使用してコマンドを起動しようとしています。それがいつ、いつ、どのように、なぜ終了するかは気にしません。プロセスを開始して実行したいのですが、すぐにシェルに戻れるようにしたいのですが...

8
バッチファイル-コマンドライン引数の数
いくつかのシェルスクリプトをバッチファイルに変換するだけで、見つからないように見えることがあります...これは、コマンドライン引数の数の単純なカウントです。 例えば。あなたが持っている場合: myapp foo bar シェル: $#-> 2 $ *-> foo bar $ 0-> myapp $ 1-> foo $ 2->バー バッチで ?? -> 2 <----どのコマンド?! %*-> foo bar %0-> myapp %1-> foo %2->バー それで私は周りを見回しましたが、間違った場所を探しているか、盲目ですが、渡されたコマンドライン引数の数をカウントする方法を見つけることができないようです。 バッチファイル用のシェルの「$#」に似たコマンドはありますか? ps。私が見つけた最も近いのは、%1sを反復処理して 'shift'を使用することですが、後でスクリプトで%1、%2などを参照する必要があるので、これは良くありません。

7
Bashでコマンド出力を非表示にする方法
エンドユーザーにとってBashスクリプトをより洗練されたものにしたいと考えています。Bashがコマンドを実行しているときに出力を非表示にするにはどうすればよいですか? たとえば、Bashが実行されるとき yum install nano 以下は、Bashを実行したユーザーに表示されます。 Loaded plugins: fastestmirror base | 3.7 kB 00:00 base/primary_db | 4.4 MB 00:03 extras | 3.4 kB 00:00 extras/primary_db | 18 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 3.8 MB 00:02 Setting up Install Process Resolving Dependencies --> Running transaction check ---> …
99 bash  shell 

7
リモートsshコマンドで変数を渡す
sshを使用して自分のマシンからコマンドを実行し、環境変数を通過できるようにしたい $BUILD_NUMBER これが私が試していることです: ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER' $BUILD_NUMBER はssh呼び出しを行うマシンで設定され、変数はリモートホストに存在しないため、取得されません。 の値を渡すにはどうすればよい$BUILD_NUMBERですか?
99 linux  bash  shell  ssh 

7
複数のファイルタイプにgrep --includeオプションを使用するにはどうすればよいですか?
一部のディレクトリにあるすべてのhtmlファイルをgrepしたい場合は、次のようにします grep --include="*.html" pattern -R /some/path うまくいきます。問題は、いくつかのディレクトリにあるすべてのhtml、htm、phpファイルをgrepする方法です。 これから、特定のファイルをgrepしないようにgrep --exclude /-include構文を使用して、次のようにできるようです grep --include="*.{html,php,htm}" pattern -R /some/path しかし残念なことに、それは私にはうまくいきませんでした。 ちなみに、私のgrepバージョンは2.5.1です。
98 shell  grep 

9
scpを使用してディレクトリを再帰的にコピーするときにファイルをフィルタリングする方法
すべてのdirを予約して、すべての.classファイルをサーバーからローカルにコピーする必要があります。たとえば、問題にserver:/usr/some/unknown/number/of/sub/folders/me.classなるでしょう/usr/project/backup/some/unknown/number/of/sub/folders/me.class、.svn-baseファイルなど、不要なファイルが他にもたくさんあります。scp.classファイルのみをフィルター処理するにはどうすればよいですか?
98 file  shell  filter  directory  scp 


9
ログファイルとコンソールへの出力の書き込み
Unixシェルでは、すべての出力(エコーメッセージをリダイレクトするenvファイル(ログファイル名とパス、ログファイルへの出力とエラーのリダイレクト、データベース接続の詳細など)のようなユーザースクリプトを実行するために必要なパラメーターを定義するenvファイルを持っています))および次のコードを使用して実行されたスクリプトからログファイルへのエラー: exec 1>>${LOG_FILE} exec 2>>${LOG_FILE} envファイルは、各スクリプトの最初に実行されます。envファイルの上記のコードにより、ユーザー出力またはエラーである可能性のあるすべてのコンソール出力が、実際に必要なログファイルに直接出力されます。 しかし、コンソールとログファイルの両方に表示したいユーザー出力がいくつかあります。しかし、上記のコードのために、私はそうすることができません。 上記のコードを削除すると、この場合に望ましい結果が得られることはわかっていますが、他のすべての出力を手動でログファイルに書き込む必要がありますが、これは簡単な作業ではありません。 上記のコードを削除せずに、コンソールとログファイルの両方で出力を取得する方法はありますか?
98 bash  shell  redirect  logging 

4
MacOSXでZSHをデフォルトのシェルにする[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する Macにzshをインストールしました。そして今、私はそれをBashの代わりにデフォルトのシェルにしたいと思います。しかし、私は次のエラーに遭遇しているようです: $ echo $SHELL /bin/bash $ chsh -s /usr/bin/zsh Changing shell for harshamv. Password for harshamv: chsh: /usr/bin/zsh: non-standard shell
98 bash  shell  zsh 

8
UNIXでのnull文字の識別と削除
不要なnull文字(ASCII NULなど\0)を含むテキストファイルがあります。私はそれを表示しようとするとvi、私が見る^@通常のテキストでインタリーブシンボルを、。どうやって: ファイルのどの行にnull文字が含まれているかを特定しますか?私はのためにgrepを試みている\0と\x0、これは動作しませんでした。 ヌル文字を削除しますか?stringsファイルで実行するとクリーンアップされますが、これが最善の方法かどうか疑問に思っていますか?

8
sed初心者:フォルダー内のすべての出現箇所の変更
フォルダー(およびそのサブフォルダー)内のすべてのファイルを正規表現で検索して置換する必要があります。それを行うためのLinuxシェルコマンドは何でしょうか? たとえば、これをすべてのファイルに対して実行し、古いファイルを新しい置き換えられたテキストで上書きします。 sed 's/old text/new text/g'
98 regex  linux  shell  sed 

11
grep-Pは機能しなくなりました。検索を書き直すにはどうすればよいですか?
新しいバージョンのOSXはサポートさgrep -Pれなくなったようです。そのため、一部のスクリプトが機能しなくなりました。 var1=`grep -o -P '(?<=<st:italic>).*(?=</italic>)' file.txt` grepを変数にキャプチャする必要があり、ゼロ幅アサーションを使用する必要があります。 \K var2=`grep -P -o '(property:)\K.*\d+(?=end)' file.txt` 任意の代替案をいただければ幸いです。
98 macos  perl  shell 

5
パラメータ付きのZSHエイリアス
単純なgitadd / commit / pushのパラメーターを使用してエイリアスを作成しようとしています。 関数をエイリアスとして使用できるのを見たので、試してみましたが、作成しませんでした。 私が持っていた前に: alias gitall="git add . ; git commit -m 'update' ; git push" しかし、私は自分のコミットを変更できるようにしたいです: function gitall() { "git add ." if [$1 != ""] "git commit -m $1" else "git commit -m 'update'" fi "git push" } (私はそれがひどいgitプラクティスであることを知っています)
98 bash  shell  alias  zsh  zshrc 


4
シェルパイプでエラーコードをキャッチする
現在、次のようなスクリプトがあります ./a | ./b | ./c a、b、cのいずれかがエラーコードで終了した場合に、エラーメッセージを出力して停止し、不正な出力を転送しないように変更します。 そうするための最も簡単でクリーンな方法は何でしょうか?

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