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

起動時に特定のプログラムを起動するために作成されたWindowsスクリプトなど、特定の順序で実行される一連の自動化された命令。

30
ファイルが変更されるたびにコマンドを実行する方法は?
ファイルが変更されるたびにコマンドを実行するための迅速かつ簡単な方法が必要です。非常にシンプルなものが欲しいです。ターミナルで実行したままにして、そのファイルでの作業が終了したらいつでも閉じます。 現在、私はこれを使用しています: while read; do ./myfile.py ; done そして、Enterそのファイルをエディターに保存するたびに、そのターミナルに移動してを押す必要があります。私が欲しいのは次のようなものです: while sleep_until_file_has_changed myfile.py ; do ./myfile.py ; done または、それと同じくらい簡単な他のソリューション。 ところで、私はVimを使用しています。BufWriteで何かを実行するためのオートコマンドを追加できることは知っていますが、これは私が今求めている種類のソリューションではありません。 更新:可能な場合は廃棄可能なシンプルなものが必要です。さらに、プログラムの出力を確認したい(エラーメッセージを確認したい)ため、ターミナルで何かを実行したい。 回答について:回答ありがとうございます!それらはすべて非常に優れており、それぞれが他のアプローチとは非常に異なるアプローチを取っています。私は1つだけを受け入れる必要があるので、最もエレガントではないことがわかっていても、実際に使用したものを受け入れています(シンプルで、素早く、覚えやすい)。
434 linux  unix  shell  script 


20
ディレクトリがまだ存在しない場合は、$ PATHに追加します
誰かが$ PATHにディレクトリを追加するbash関数を書いたことがありますか? 通常、次のようなものを使用してPATHに追加します。 export PATH=/usr/local/mysql/bin:$PATH .bash_profileにPATHを作成すると、現在のセッションがログインセッションでない限り読み込まれません。これは常に正しいとは限りません。.bashrcにPATHを作成すると、各サブシェルで実行されます。ターミナルウィンドウを起動し、画面を実行してからシェルスクリプトを実行すると、次のようになります。 $ echo $PATH /usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:.... add_to_path()ディレクトリがない場合にのみ追加するというbash関数を作成してみます。しかし、誰かがすでにそのようなことを書いた(または見つけた)場合、私はそれに時間を費やしません。
126 bash  script  path 

3
Linux Bashスクリプト、単一コマンドで複数行?
Googleを検索して作成した次のスクリプトがあり、Linuxシステムをアーカイブにバックアップします。 #!/bin/bash # init DATE=$(date +20%y%m%d) tar -cvpzf /share/Recovery/Snapshots/$HOSTNAME_$DATE.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/dev --exclude=/share/Archive / これは機能しますが、このようなコマンドを複数行に渡って表示するようにスクリプトをフォーマットできるかどうか疑問に思っているので、後で簡単に編集できます。 tar -cvpzf /share/Recovery/Snapshots/$HOSTNAME_$DATE.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/dev --exclude=/share/Archive / そうすれば、後で読みやすく編集しやすくなります。この方法でBashスクリプトをフォーマットすることは可能ですか?
97 linux  bash  script  tar 

11
Bashを使用する場合とPerl / Python / Rubyを使用する場合 [閉まっている]
これまでBashを使用してすべてのスクリプトを作成していますが、それについて少しばかげていると感じ始めています。もちろん、Bashで必要なことはすべて実行できますが(非常に強力です)、代わりに適切なスクリプト言語(この場合はおそらくRuby)を使用するべきではないかと思い始めています。 スクリプトでBashを介してPerl / Python / Rubyを使用するタイミングをどのように決定しますか?Rubyでのinitスクリプトは意味がないと思いますが、電子メールアカウントを追加する少し長いスクリプトはどうでしょうか。
78 linux  bash  script  perl  ruby 

5
画面でコマンドを実行してデタッチする方法は?
画面を取得してコマンドを実行してから切り離すにはどうすればよいですか(つまり、スクリプトを最初に起動する以外に入力を行わなくても、単一のスクリプトで自動的に実行できます)。たとえば、myscript.shを実行すると、自動的にスクリーンセッションが開始され、コマンドが実行されてから切り離されます。

6
フォルダーパスを繰り返さずに、別のフォルダーでコマンドを実行するにはどうすればよいですか?
そこにある巧妙なコピーを行うと、やってなくても、ファイルを複製するための操作やコマンドを移動する方法cd、その後、mv同じフォルダで、後は? たとえば、次を実行する必要があります。 mv /folder1/folder2/folder3/file.txt /folder1/folder2/folder3/file-2013.txt ファイルを移動するディレクトリは同じであることに注意してください。ただし、パス全体をもう一度入力する必要があり、時には迷惑になります。操作が同じパスで行われるため、パス全体を再度入力することなく、別の方法でそれを行うことができるかどうか知りたいです。


10
Mac OSでコマンドライン引数を使用してアプリケーションを実行する方法
Macのアプリケーションにコマンドライン引数を追加する簡単な方法はありますか?たとえば、Operaをキオスクモードで実行したり、Firefoxで別のプロファイルを使用したりするには、次のように入力します。 $ /Applications/Opera.app/Contents/MacOS/Opera -kioskmode $ /Applications/Firefox.app/Contents/MacOS/firefox -P profilename -no-remote Windowsでは、ショートカットプロパティに引数を追加できますが、Macはそれ自体ショートカットを使用せず、アプリケーションを直接実行するため、これは不可能です。 bashまたはApplescriptを使用してアプリケーションを起動すると、部分的に機能することがわかりました。 # Bash #!/bin/sh /Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote # Applescript do shell script "exec /Applications/Opera.app/Contents/MacOS/Opera -kioskmode" これらの実行可能ファイルを作成してアイコンを割り当てると、これらの擬似プログラムのいずれかを実行すると、アプリケーションが開いている限りターミナルウィンドウまたはApplescriptアイコンが開いたままになることを除いて、すべてがうまく機能します。おそらく、Applescriptコマンドを使用するopenとこれを回避できますが、パッケージ化された(ちょうど/Applications/Firefox)アプリケーションを実行していないため、機能しません。 だから、コマンドライン引数でアプリケーションを実行するより良い方法はありますか?そうでない場合、アプリケーションが開いている間、永続的なターミナルセッションまたはApplescriptアイコンが開いたままになるのを防ぐ方法はありますか? 編集 Mozilla Wikiページによると、引数を使用してアプリケーションを実行するにはスクリプトを使用するのが最善です。&スクリプトの最後にa を追加すると、永続的なターミナルウィンドウが強制終了されます。唯一の厄介な点は、それが死んでログアウトしたターミナルウィンドウを開くことです(これは永続的なウィンドウよりも優れていますが、それでも...) #!/bin/sh /Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &

3
ネットワーク接続/切断でコマンドを起動する方法は?
ワイヤレスリンクが確立されたら、Webフォームを使用して認証する必要があるwifi接続があります。curl/ curlIEを使用するスクリプトで認証を自動化する方法を知っています。 しかし、特定のネットワーク接続に接続するたびにWindowsにスクリプトを呼び出すように依頼するにはどうすればよいですか? また、スクリプトのコマンドラインでワイヤレスプロファイルの名前またはESSIDを受け取ることにも興味があります。

12
フォルダーとそのサブフォルダーからすべてのファイルを削除する
フォルダー構造からすべてのファイルを削除したいので、空のフォルダー構造が残っています。 これは、バッチまたはVBScriptのスクリプトで実現できますか? 非常に基本的なバッチコマンドを試しましたが、これにはユーザーが各ファイルの削除を許可する必要がありました。これは適切なソリューションではありませんでした。何百ものファイルがあり、時間の経過とともに大幅に増加するからです。 何を提案できますか?

2
ddは1 GBではなく32 MBのランダムファイルを生成しています
1 GBのランダムファイルを作成したいので、次のコマンドを使用しました。 dd if=/dev/urandom of=output bs=1G count=1 しかし、代わりにこのコマンドを起動するたびに32 MBのファイルを取得します。 <11:58:40>$ dd if=/dev/urandom of=output bs=1G count=1 0+1 records in 0+1 records out 33554431 bytes (34 MB, 32 MiB) copied, 0,288321 s, 116 MB/s なにが問題ですか? 編集: このトピックのすばらしい回答のおかげで、32GBの32MBのチャンクを読み取り、1GBにするソリューションがありました: dd if=/dev/urandom of=output bs=32M count=32 1 GBを直接メモリに読み取り、その後ディスクに書き込む別のソリューションが提供されました。このソリューションは多くのメモリを消費するため、優先されません。 dd if=/dev/urandom of=output bs=1G count=1 iflag=fullblock


5
サブディレクトリをループし、それぞれでコマンドを実行する
VCS(Git、Mercurial、SVN)に基づいてディレクトリに分類されたリポジトリのセットがあります。Subversionを使用するsvn update *と、親ディレクトリで実行でき、各ディレクトリをループし、各リポジトリを期待どおりに更新しました。GitやMercurialには当てはまりません。 私は、ディレクトリを通って、どちらか正確には、ループを行うために実行することができますbashスクリプトを思い付くしたいと思いますgit pullかhg pull、それぞれに。私はbashスクリプトの経験があまりありません。
47 linux  bash  shell  script 

5
Unixでスクリプトをリモートで実行し、ローカルで出力を取得しますか?
(ローカルの)Windowsコマンドシェルから、リモートUnixマシンで(Tclなど)スクリプトを実行する必要があります。また、スクリプトのstdout / stderrをWindows CLIに表示する必要があります。終了コードも役立ちます。 これはssh(putty)を使用して可能ですか?または他の手段で? ありがとう!

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