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

BashはBourne Again SHellであり、古典的なUnix sh(シェル)の後継です。

3
rsyncを使用して、変更されたファイルのみのリストを作成できますか?
bashスクリプトでrsyncを使用して、いくつかのサーバーとNASの間でファイルの同期を維持しています。私が遭遇した問題の1つは、rsync中に変更されたファイルのリストを生成しようとすることです。 考えは、rsyncを実行すると、変更されたファイルをテキストファイルに出力できることです(メモリ内の配列をさらに期待します)。スクリプトが存在する前に、変更されたファイルのみで chownを実行できます。 誰かがそのようなタスクを実行する方法を見つけましたか? # specify the source directory source_directory=/Users/jason/Desktop/source # specify the destination directory # DO NOT ADD THE SAME DIRECTORY NAME AS RSYNC WILL CREATE IT FOR YOU destination_directory=/Users/jason/Desktop/destination # run the rsync command rsync -avz $source_directory $destination_directory # grab the changed items and save to an array …
26 bash  scripting  rsync 


3
ファイルの所有者のアクセス許可をグループのアクセス許可にコピーする
ファイルのユーザー/所有者のアクセス許可をグループのアクセス許可にコピーするにはどうすればよいですか? たとえば、アクセス許可が755の場合、775になります。 明確化:755-> 775 123-> 113 abc-> aac ディレクトリ内のすべてのファイルに対してこれを再帰的に行うことができればボーナスです。 (つまり、ファイルごとに所有者のアクセス許可がグループのアクセス許可にコピーされます。各ファイルには異なるアクセス許可が設定されている場合があります。)

3
バックグラウンドプロセスの標準入力への書き込み
私はUbuntu 10.04ボックスを使用していて、ssh経由でバックグラウンドでサーバー(myserver&)を起動しました。サーバーは正常に動作していますが、サーバーを制御する唯一の方法はこのメソッドを使用するため、サーバーの標準入力を取得する方法が必要です。 既に実行中のプロセスの標準入力を取得する方法はありますか?明らかに、今これを行うつもりなら、stdinにリダイレクトするFIFOで開始しますが、残念ながら今のところ少し遅れています。 何か案は?

6
ファイルが書き込み中かどうかを判断しますか?
特定のディレクトリでtarファイルを探す自動化されたプロセスを展開する必要があります(1分cronスクリプトを使用)。tarファイルが見つかった場合、適切な場所にuntarされた後、tarファイルが削除されます。 tarファイルは、SSHを介して別のサーバーからこのサーバーに自動的にコピーされます。場合によっては、tarファイルは非常に大きく、多くのファイルがあります。 予想される問題:tarファイルがサーバーにコピーされるのに1分以上かかり、cronスクリプトが1分に1回実行される場合、.tar.gzファイルが表示され、実行しようとします。 tarファイルがまだ書き込まれている途中であっても、それをuntarします。 ファイルが現在書き込まれているのか、それとも部分的なファイルだけなのかなどをテストする方法はありますか(bashコマンドを使用)? 私が考えていた1つの選択肢は、ファイルを別のファイル拡張子(など.tar.gz.part)としてコピーし.tar.gz、転送が完了した後に名前を変更することでした。しかし、最初にファイルがコマンドラインで完全であるかどうかを判断する方法が単純にあるかどうかを把握しようと思ったのですが...手がかりはありますか?
25 linux  bash  tar 

4
DebianのすべてのユーザーにPATHを設定する方法は?
私はDebian Lennyサーバーwww-dataを持っています。ユーザー/usr/local/zend/binにそのPATH を持たせたいので、cronでスクリプトを実行できwww-dataます。 /usr/local/zend/binPATH に追加するにはどうすればwww-dataファイルを実行できます/usr/local/zend/binか?
25 linux  debian  bash 


4
脱出する方法!パスワードで?
パスワードで感嘆符をエスケープするにはどうすればよいですか: $ mysql -umyuser -pone_@&!two -bash: !two: event not found 明らかなバックスラッシュを試しても助けにはなりませんでした: $ mysql -umyuser -pone_@&\!two [1] 22242 -bash: !two: command not found name@domain.com [~]# ERROR 1045 (28000): Access denied for user 'myuser'@'localhost' (using password: YES) 私のすべてのGoogle検索は、バックスラッシュが役立つことを示唆していますが、そうではありません。この質問で示唆されるように引用符を使用する方法が全くありません。この行は.bashrcエイリアスで使用されます。心配しないでください、ここに表示されるユーザー名とパスワードは単なる例であり、本番環境では使用されません!
24 linux  mysql  bash 


9
STDINから複数の行を変数に読み込むにはどうすればよいですか?
私はこの質問を無駄に使い続けてきました。私は職場でビルドプロセスを自動化しています。私がやろうとしているのは、バージョン番号と、複数行のビルドの小さな説明を取得することだけです。これが実行されるシステムはOSX 10.6.8です。 CATの使用から、必要に応じて各行を処理するまでのすべてを見てきました。何を使うべきなのか、なぜだかわからない 試み read -d '' versionNotes ユーザーがバックスペースキーを使用する必要がある場合、入力が文字化けします。また、^ Dは終了せず、^ Cはプロセスを終了するだけなので、入力を終了する良い方法はありません。 read -d 'END' versionNotes 動作しますが、バックスペースキーが必要な場合は入力が文字化けします。 while read versionNotes do echo " $versionNotes" >> "source/application.yml" done 入力を適切に終了しません(空の文字列との一致を検索するには遅すぎるため)。
24 bash  scripting 

2
Ansibleはシェルスクリプトで 'rm -rf /'の実行を防止します
これは、このデマの質問に基づいています。説明されている問題は、次の効果をもたらすものを含むbashスクリプトを持っていることです。 rm -rf {pattern1}/{pattern2} ...両方のパターンに1つ以上の空の要素が含まれる場合rm -rf /、元のコマンドが正しく転写され、OPがパラメーター展開ではなくブレース展開を行っていると仮定して、少なくとも1つのインスタンスに展開されます。 OPによるデマの説明では、彼は次のように述べています。 コマンド[...]は無害ですが、ほとんど誰も気付いていないようです。 Ansibleツールはこれらのエラーを防止しますが[...]しかし[...]誰もそれを知らないようでした。さもなければ彼らは私が説明したことが起こらないことを知っているでしょう。 したがってrm -rf /、ブレース展開またはパラメーター展開のいずれかを介してコマンドを発行するシェルスクリプトがあると仮定すると、Ansibleを使用するとそのコマンドの実行が妨げられるというのは本当ですか? rm -rf /あなたがそれを行うためにAnsibleを使用している限り、root権限で実行することは本当に「無害」ですか?
23 linux  bash  ansible  rm 

2
Bashスクリプトが1行に5分のカウントダウンを表示する[終了]
閉じた。この質問には、詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 6年前に閉鎖されました。 5分カウントダウンして、毎秒更新し、同じ行に結果を表示したいと思います。これはBashスクリプトでも可能ですか?
23 bash 

3
sedはすべてのタブとスペースを単一のスペースに置き換えます
次のような文字列を取得しました。 test.de. 1547 IN SOA ns1.test.de. dnsmaster.test.de. 2012090701 900 1000 6000 600 次に、レコード間のすべてのタブ/スペースを単一のスペースに置き換えて、簡単に使用できるようにします cut -d " " 私は次を試しました: sed "s/[\t[:space:]]+/[:space:]/g" さまざまなバージョンがありますが、動作させることができませんでした。何か案は?

4
bashスクリプト:エラーを返す場合はコマンドを繰り返します
エラーが返された場合、ncftp転送を繰り返すループを作成したいと思います。 ループ内で終了コード変数をどのように使用できるかは少しわかりません。このようなものは機能しますか? until [$? == 0]; do ncftpput -DD -z -u user -p password remoteserver /remote/dir /local/file done
23 bash 

2
ヒアドキュメントの文字をどのようにエスケープしますか?
私は、ヒアドキュメント内の変数を置換しようとするのを阻止しようと、bashスクリプトを使用しています。ヒアドキュメントをA)変数名を解析する代わりにエスケープするか、B)文字列全体をそのまま返すように設定するにはどうすればよいですか? cat > /etc/nginx/sites-available/default_php <<END server { listen 80 default; server_name _; root /var/www/$host; <--- $host is a problem child } END そのまま、ファイルへの挿入が完了すると、次のようになります。 server { listen 80 default; server_name _; root /var/www/; }
22 linux  bash  heredoc 

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