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

スクリプトは、スタンドアロンの実行可能プログラムにコンパイルされるのではなく、インタープリタープログラムによって実行される一連のコマンドまたは命令です。

2
bashスクリプトの正規表現
これは初めてのbashスクリプトなので、たぶん簡単な間違いを犯しているでしょう。 基本的に、ユーザーのグループを取得するスクリプトを作成しようとしています。特定のグループに属している場合、それに応じてログに記録します。明らかに、より多くの機能がありますが、正規表現を動作させることさえできないとき、それを構築する意味はありません! これまでのところ、私はこれを持っています: #!/bin/bash regex="^([a-zA-Z0-9\-_]+ : [a-zA-Z0-9\-_]+) (usergroup)$" # example output groups="username : username usergroup" echo "$groups" >> /home/jrdn/log if [[ "$groups" =~ $regex ]]; then echo "Match!" >> /home/jrdn/log else echo "No match" >> /home/jrdn/log fi 私がその正規表現を試したすべての場所、それは動作します。しかし、bashスクリプトでは$groups、が出力された後にのみが出力されNo matchます。だから誰かが私に何が悪いのか教えてもらえますか?


4
変更されたファイルのバックアップのみを作成するsedインプレース置換を実行する方法は?
現在の作業ディレクトリ内のすべてのファイルで使用されている用語を置き換えるために、次を実行しました。 $ find . -type f -print0 | xargs -0 sed -i'.bup' -e's/Ms. Johnson/Mrs. Melbin/g' これは単語の置換を実行しました.bupが、Ms. Johnson文字列を持たないファイルのファイルも作成しました。 これらすべての不要なバックアップを作成せずに置換を実行するにはどうすればよいですか?

3
これらの旧式のGUI(debian / archインストーラーなど)の作成方法
私は最近多くのインストールを行ってきましたが、可能であれば、通常はLive CDのGRUBメニューからテキストインストールを選択します。ほとんどのインストーラーは次のようになります。 私はいつも、これらのGUI(そういうものとして呼び出すことができるなら)は本当にすごい軽量だと思っていました。多くのアプリケーション/ディストリビューションがそれらを使用しているのを見ると、それは共有ライブラリか何かに違いありませんか?このようなものを作る方法はありますか?
13 scripting  distros  gui 


2
google-chromeの現在のタブからURLを取得する方法はありますか?
私はpythonコマンドを使用してFirefoxでこれを行っていましたが、最近何かが変更され、URLを取得できなくなりました! Firefoxで使用していたもの: #!/bin/bash current_tab_num () { python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nprint str(jdata["windows"][0]["selected"])' } current_tab_url () { sed -n "$(current_tab_num)p" <(python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nfor win in jdata.get("windows"):\n\tfor tab in win.get("tabs"):\n\t\ti = tab.get("index") - 1\n\t\tprint tab.get("entries")[i].get("url")') } current_tab_url 誰でもFirefoxやChromeでこれを行う方法を教えてもらえますか? 注:私はpythonを理解していません、どこかでそれらのコマンドを見つけてbashで使用しました!

2
bash / shellスクリプトの依存関係を確認する
bashスクリプトの依存関係を確認する方法/コマンドはありますか?言い換えれば、この質問に対する回答:スクリプトを実行するためにユーザーがインストールすべきライブラリはどれですか? スクリプトを読んで手動でこれを行うことができ、それが呼び出す他のライブラリ/コマンドを確認できますが、これは長いスクリプトでは明らかではありません。

5
異なるパラメーターを使用して同じコマンドを再実行する
私は次のコマンドを実行できることを知っています ls Some{File,Folder} そして、これはこれを実行するのと同等です: ls SomeFile SomeFolder (私はのようなものにも多く使用していますmv place_{a,b}) しかし、私はこのようなことをすることができる別のショートカットがあるかどうか疑問に思っていました: run-command --a --whole --lot --of --flags parameter a; \ run-command --a --whole --lot --of --flags parameter b そして、私はタイプするrun-command --a --whole --lot --of --flags parameter {a,b}か、似たようなことだけをしなければならなかった。

5
数分の1秒間スリープするループが必要
私のマシンでは、1秒の小数で表される遅延を持たなければならない1つの単純なコマンドを繰り返すサイクルを実行する必要があります。 私が必要だとしましょう: 列挙を増やしてファイルを保存するには(ファイル-0、ファイル-1、ファイル-2、...) time > file-$x ほんの一瞬で自分の時間を表現したいので、これを1/70秒ごとに(例として)行う必要があります。 どうすれば本当に正確になり、すべてをbashスクリプトで表現できますか? 分数は不確定な量を生成する可能性があるため、正確である必要があるため、少なくとも4〜5桁の小数が必要です。
13 bash  scripting 

5
リダイレクトを使用しているシェルコマンドを完全にフォークする方法
私は長年にわたってかなりの数のシェルスクリプトを書いている(しかし、私は確かにシステム管理者ではないよ)といつも私を引き起こしたことがあるの何かトラブル:どのように私はからバックグラウンドでハングアップするシェルコマンド免疫をforkできるのBashスクリプト? たとえば、これがある場合: command_which_takes_time input > output これを「nohup」してフォークするにはどうすればよいですか? 以下は私が望むことをしていないようです: nohup command_which_takes_time input > output & 私が探している構文は何ですか?理解していないものは何ですか?
13 bash  scripting  nohup  fork 

2
シェルスクリプト:sudoを使用するか、sudoで実行するか?
すべてのコマンドではなく一部のコマンドがスーパーユーザー権限を必要とするシェルスクリプトを記述する場合、 スーパーユーザー権限が必要なコマンドにsudoを追加し、sudoなしでシェルスクリプトを実行する、または スーパーユーザー権限が必要なコマンドにsudoを追加しないでください。ただし、sudoを使用してシェルスクリプトを実行しますか? 2番目の方法では、パスワードを1回入力するだけで済みますが、スクリプト内のすべてのコマンドは、不要なコマンドを含め、スーパーユーザー特権で実行されます。 最初の方法では、さまざまなsudoコマンドにパスワードを複数回提供する必要があるかもしれませんが、スーパーユーザー権限はそれらを必要とするコマンドにのみ付与されます。 セキュリティ上の問題から、最初の方法の方が優れています。便宜上、2番目の方法の方が適しています。 最初の方法を採用することを考えています。したがって、シェルスクリプトで複数のsudoコマンドにパスワードを提供するという不便さに対処する必要があります。 スティーブン・ハリスは書きました: 適切に作成されたスクリプトは、適切な権限で実行されているかどうかを検出し、sudoをまったく呼び出さないでしょうが、多くの不正なスクリプトがあります だから私は2番目の方法を使うべきですか?もしそうなら、 「スクリプトが適切な権限で実行されていて、sudoをまったく呼び出さないかどうかをスクリプトが検出する」と書くにはどうすればよいですか? sudoを使用してスクリプトを実行するときに、スーパーユーザー特権を必要としないコマンドにスーパーユーザー特権を与える問題を回避するために、セキュリティをどのように改善できますか? この単純なアプローチは、両方のアプローチの中で最も優れていますか?それを必要とするだけのコマンドにsudoを追加し、利便性とセキュリティのどちらを望むかに応じて、sudoの有無にかかわらずスクリプトを実行しますか?このアプローチには問題がありますか? ありがとう。

6
プログラムで(sshを介して)何かをcrontabに追加する
私は導入スクリプトを持っています。ユーザーに何かを追加する必要がありますcrontab(XXX日ごとにログをクリーンアップするスクリプトをトリガーします)。 (私は実行することができますxxx.py deploy envかxxx.py update env) だから私はこれをしなければなりません: Check if my cronJob already exist Put my cronJob if it does not already exist or update my cronjob if one of the parameter of the command is different ファイルcrontabを使用crontab -eまたは編集せずに何かをに追加/チェック/削除する方法がわかりませんcrontab(ダウンロード、再書き込み、再アップロード) PS:これはユーザー固有のcronjobであり、 "webadmin"が実行する予定であり、sudoを使用して実行するべきではありません。
13 scripting  cron 


4
シェルスクリプトでlogrotateを実装する方法
test.sh #!/bin/bash echo "Hello World" test2.sh #!/bin/bash while true do sh test.sh >> /script_logs/test.log & done logrotateを実装してログファイルサイズを制御したいので、状況が上記のような場合にlogrotateを実装するにはどうすればよいですか?

1
iotopなしでI / Oを実行するプロセスを知る
Linuxでは、どのプロセスがディスクI / O帯域幅を使用しているかを知りたいです。 使用できることは知っていますiotopが、さまざまな理由でiotopインストールできないマシンがあります。 その情報を手動で取得するにはどうすればよいですか?(iotopそれ自体はどのように進みますか?)

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