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

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


7
Bashのコマンドの単一引用符内の変数の展開
一重引用符と、一重引用符と変数の中に他のいくつかのコマンドがあるbashスクリプトからコマンドを実行したいと思います。 例えば repo forall -c '....$variable' この形式で$は、エスケープされ、変数は展開されません。 次のバリエーションを試しましたが、拒否されました。 repo forall -c '...."$variable" ' repo forall -c " '....$variable' " " repo forall -c '....$variable' " repo forall -c "'" ....$variable "'" 変数の代わりに値を代入すると、コマンドは正常に実行されます。 どこがいけないのか教えてください。
393 bash  shell  variables  quotes 

6
シェルで1行で複数のコマンドを実行する
たとえば、ファイルが/templates/appleあり、 それを2つの異なる場所に置いてから オリジナルを削除します。 なので、AND /templates/appleにコピーしてから 元を削除したいと思います。/templates/used/templates/inuse cpこれを行うための最良の方法は次のとおりrmですか?それとももっと良い方法がありますか? 私はそれをすべて1行で実行したいので、次のようになると思います。 cp /templates/apple /templates/used | cp /templates/apple /templates/inuse | rm /templates/apple これは正しい構文ですか?
388 bash  shell 

18
PowerShellはWindowsでCygwinシェルを置き換える準備ができていますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 昨年休業。 PowerShellを学ぶべきか、それとも単にCygwin / Perlスクリプト/ Unixシェルスクリプトなどを使うべきかについて議論しています。 PowerShellの利点は、Cygwinを持たないチームメートがスクリプトをより簡単に使用できることです。しかし、本当に多くの汎用スクリプトを書いているのか、それとも人々がそれらを使用するのかさえわかりません。 Unixスクリプティングは非常に強力ですが、PowerShellは切り替えを保証するのに十分近づいていますか? 以下は、PowerShellで探している具体的なもの(または同等のもの)の一部です。 グレップ ソート uniq Perl(PowerShellはPerlの機能にどの程度近づくのですか?) AWK sed file(ファイル情報を提供するコマンド) 等
384 unix  shell  powershell 

7
Grep RegExからのグループのキャプチャ
sh(Mac OSX 10.6)には、ファイルの配列を調べるためのこの小さなスクリプトがあります。この時点で、Googleは役に立たなくなっています。 files="*.jpg" for f in $files do echo $f | grep -oEi '[0-9]+_([a-z]+)_[0-9a-z]*' name=$? echo $name done これまでのところ(明らかに、シェルの教祖にとって)は、ファイル名が提供された問題と一致したことが判明した$nameかどうかに応じて、0、1、または2を保持grepします。私が欲しいのは、括弧の中にあるものをキャプチャ([a-z]+)し、それを変数に格納することです。 できれば使用しgrepたいだけです。そうでない場合は、PythonやPerlなど、sedまたはそのようなものは使用しないでください。私はシェルが初めてなので、* nixの純粋主義的な角度から攻撃したいと思います。 また、超クールなボヌスとして、シェルで文字列を連結する方法について知りたいのですが?キャプチャしたグループは$ nameに格納されている文字列 "somename"でしたcat $name '.jpg'か、それの最後に文字列 ".jpg"を追加したいと思いますか? 時間があれば、何が起こっているのか説明してください。
380 bash  shell  grep 


7
バックグラウンドプロセスのプロセスIDを取得する方法
シェルスクリプトからバックグラウンドプロセスを開始し、スクリプトが終了したらこのプロセスを強制終了したいと思います。 シェルスクリプトからこのプロセスのPIDを取得するにはどうすればよいですか?私が見る限り、変数$!にはバックグラウンドプロセスではなく、現在のスクリプトのPIDが含まれています。


9
シェルコマンドの「&&」の目的は何ですか?
私の知る限り&、コマンドの後に使用することは、コマンドをバックグラウンドで実行するためです。 &使用例:tar -czf file.tar.gz dirname & しかし、どう&&ですか?(この例を見てください:https : //serverfault.com/questions/215179/centos-100-disk-full-how-to-remove-log-files-history-etc#answer-215188)


11
Linuxシェルから、現在とは異なる作業ディレクトリでプログラムを実行するにはどうすればよいですか?
Linuxシェルを使用して、現在の作業ディレクトリとは異なる作業ディレクトリでプログラムを起動するにはどうすればよいですか? たとえば、現在のディレクトリにファイルhelloworldを作成するバイナリファイルがあります。 このファイルはディレクトリ内にあります。hello-world.txt/a 現在、私はディレクトリにい/bます。私は私のプログラムの実行を開始したい../a/helloworldとget hello-world.txt三ディレクトリ内のどこかを/c。
352 linux  shell  environment 

18
PIDではなく名前でプロセスを強制終了するにはどうすればよいですか?
Firefoxを起動しようとすると、「Firefoxプロセスがすでに実行中」と表示されることがあります。だから私はこれをしなければなりません: jeremy@jeremy-desktop:~$ ps aux | grep firefox jeremy 7451 25.0 27.4 170536 65680 ? Sl 22:39 1:18 /usr/lib/firefox-3.0.1/firefox jeremy 7578 0.0 0.3 3004 768 pts/0 S+ 22:44 0:00 grep firefox jeremy@jeremy-desktop:~$ kill 7451 私が望んでいるのは、それをすべて私のために行うコマンドです。それは入力文字列を受け取りgrep、プロセスのリストにその文字列(または何でも)を取り、出力のすべてのプロセスを強制終了します。 jeremy@jeremy-desktop:~$ killbyname firefox 私はそれをPHPで試してみましたが、PHPスクリプト自体でexec('ps aux')実行されたプロセスのみを表示しているexec()ようです(したがって、表示されるプロセスはそれ自体です)。
349 linux  bash  shell 



7
bashでgetoptsを使用する方法の例
myscriptこの方法でファイルを呼び出したい: $ ./myscript -s 45 -p any_string または $ ./myscript -h #should display help $ ./myscript #should display help 私の要件は: getopt ここで入力引数を取得します -s存在することを確認し、エラーを返さない場合 の後の値-sが45または90であることを確認します -p存在し、後に入力文字列があることを確認してください ユーザーが入力した場合、./myscript -hまたはその直後./myscriptにヘルプを表示した場合 私はこれまでにこのコードを試しました: #!/bin/bash while getopts "h:s:" arg; do case $arg in h) echo "usage" ;; s) strength=$OPTARG echo $strength ;; esac done しかし、そのコードではエラーが発生します。バッシュでそれを行う方法とgetopt?
345 bash  shell  getopts 

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