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

スクリプトは、「プレーンテキスト」ファイルに記述された一連の指示です。スクリプトインタープリター(たとえば、Bashまたは別のシェル、Python、Perl、Rubyなど)がファイルを読み取り、コマンドプロンプトで入力されたかのように指示を実行します。

1
アイドル時にシェルスクリプトまたはコマンドを実行する
私は、bashシェルのアイドル時間に基づいてシェルスクリプトまたはコマンドを実行する可能性を探しています。 たとえば、私のサーバーへのSSHセッションで、ターミナルでX分間非アクティブになった後、のような目的のプログラムを開始するコマンドが必要でcmatrix、戻ってキーを押すと取得されます私が戻ったところに戻ります。

2
すべての通常のユーザーをシャドウにするAwk
スクリプトがあります。 /etc/shadowたとえば、シャドウファイルの2番目の用語が$またはで始まるすべてのユーザーから、すべての通常のユーザーを取得します!$。 私のパターンは sudo getent shadow | awk -F: '$2 ~ /^$/ || /^!$/ {print $1}' 今のところ機能しません。
8 bash  scripts 


3
インストールされている場合にPPAをスキップするシェルスクリプト
新しいPPAを追加するか、既にインストールされている場合はスキップするスクリプトを作成したいと思います。 誰かがこの解決策を別の質問に投稿しました: #!/bin/bash add_ppa() { for i in "$@"; do grep -h "^deb.*$i" /etc/apt/sources.list.d/* > /dev/null 2>&1 if [ $? -ne 0 ] then echo "Adding ppa:$i" sudo add-apt-repository -y ppa:$i else echo "ppa:$i already exists" fi done } 条件付きでaptリポジトリを追加するシェルスクリプト 私の場合ppa:otto-kesselgulasch/gimp-edge、を追加したいのですが、これをスクリプトのどこに追加することになっているかわかりません。 私は試しましたadd_ppa(ppa:otto-kesselgulasch/gimp-edge)が、次のエラーが表示され続けます(ppaは私のスクリプトの名前です): ppa: 1: ppa: Syntax error: word unexpected (expecting …
8 bash  scripts  ppa 

1
外部から呼び出されたときにスクリプトが機能しない
単純なスクリプトを使用して、.mp4ファイルから.mp3を作成します。 #!/bin/bash for i in *.mp4 do ffmpeg -i "$i" -ab 128k "${i%mp4}mp3" done スクリプトは、デスクトップから実行するか、ターミナルから呼び出すと正常に実行されます。ただし、スクリプトが外部スクリプトから呼び出されると、実行に失敗し、 「* .mp4:そのようなファイルまたはディレクトリはありません」。 問題はシェル拡張にあると思われますが、この状況でそれを修正する方法に頭を抱えることはできません。
8 bash  scripts 

7
Bashスクリプト-次の文字列を連結する方法は?
Linux(Ubuntu / Fedora)で検出を実行するbashスクリプトの一部を次に示しますcpuid。 /usr/bin/cpuid > id.txt CPUID=id.txt echo `grep "extended model" $CPUID` | sed 's/0x//' | awk ' { print $4 } ' > cpu.txt a=`cat cpu.txt` echo `grep "extended family" $CPUID`| sed 's/0x//' | awk ' { print $4 } ' > cpu.txt a+=`cat cpu.txt` つまり、私のラップトップの場合、スクリプトのこの部分(ここに表示)は60になります。 中間ファイル(cpu.txt)を使用せずに、ローカル変数のみを使用してこれを行うにはどうすればよいですか?

3
おじいさんの時計のように、cronを使用して正時にチャイムを鳴らすことはできますか?
askubuntuがQ&Aを読んだり、推奨されるコードスニペットを試したりすることに夢中になります。そのため、私はよく、正時にインターネットでテレビのニュースチャンネルを切り替えるのを逃しています。タイムシフトが可能なyoutubeチャンネルでは大きな問題ではありませんが、フラッシュプレーヤーを使用するテレビチャンネルの「ショーストッパー」です。 cron時計のチャイムのような祖父を鳴らすためのスクリプトを提供する(もちろん、微妙な音量で!)毎時0時にジョブを実行するように構成できますか?マイナーチャイムも時間の下部で鳴らすことができます。私は確かに、私は、適切な見つけることができるんです.oggか.oga、ネット上のファイルを、私は私が使用することができます知っているogg123それらを再生します。cronできるかどうか分からない。テスト時間までスリープおよびウェイクアップするスクリプトを使用できることはわかっていますが、常に何かを実行しているという考えは好きではありません(それについてはもう十分だと思います)。 これを行うことができる場合、cron誰かがそれを設定する方法に答えることができますか? ありがとうございました。
8 sound  scripts  cron 


5
3日ごとに文字通りbashスクリプトを実行する
3日ごとに文字通りシェルスクリプトを実行したい。crontabを使用して01 00 */3 * *も、31日に実行され、その後、月の1日に実行されるため、実際には条件を満たしません。*/3構文は1,4,7 ... 25,28,31を言うと同じです。 スクリプト自体で条件をチェックし、3日が経過していない場合は終了する方法があるはずです。したがって、crontabはスクリプトを毎日実行しますが、スクリプト自体は3日が経過したかどうかをチェックします。 いくつかのコードも見つけましたが、構文エラーが発生しました。助けていただければ幸いです。 if (! (date("z") % 3)) { exit; } main.sh: line 1: syntax error near unexpected token `"z"' main.sh: line 1: `if (! (date("z") % 3)) {'

1
cronはコンピューターを起動しますか?
毎日真夜中にPythonスクリプトを開始する必要があります。インターネットで検索したところ、cronを使用できることがわかりました。私が気になるのは、cronタスクを真夜中にスケジュールした場合、コンピューターを起動してその仕事をすることですか?それとも別のものを使用してコンピュータをウェイクアップする必要がありますか?Ubuntu 16.04を使用しています。


3
ファイルを新しい場所にドラッグアンドドロップするBashスクリプト
私はこの質問のために私のお尻を手に入れられると確信していますが、私はそれを理解することができないようです。私はbashスクリプトを初めて使用するので、気楽に行ってください... ファイルをデスクトップアプリケーションにドラッグアンドドロップして、bashスクリプトを呼び出し、bashスクリプト内で指定された場所にそのファイルを移動する必要があります。これまでのところです。 Bashスクリプト #! /bin/bash mv $file /path/to/new/directory しかし、$fileデスクトップアプリケーションにドラッグアンドドロップするときに、変数としてを入力する方法がわかりません。これどうやってするの? 理由:あるフォルダーで読む必要がある論文があり、一度読んだら別のフォルダーに入れます。基本的に、これを簡単に行えるようにしたいだけです。 ありがとう、ポール

4
スクリプトを実行する前にユーザーの確認を求めますか?
(ダブルクリックで)スクリプトを実行するときに、ユーザー確認(確かにはい/いいえ)タイプのダイアログボックスを取得する方法はありますか?ターミナルではありませんが、次のようなグラフィカルな確認ボックス: (画像がWindowsからのものであることはわかっていますが、Linuxの画像は見つかりませんでした)
8 scripts 

5
Bash-部分的なファイル名のリストに対してファイルのディレクトリを確認します
クライアントごとに毎日ファイルをディレクトリに受信するサーバーがあります。ファイル名は次のように構成されています。 uuid_datestring_other-data 例えば: d6f60016-0011-49c4-8fca-e2b3496ad5a7_20160204_023-ERROR uuid 標準形式のuuidです。 datestringからの出力ですdate +%Y%m%d。 other-data 長さは可変ですが、アンダースコアが含まれることはありません。 次の形式のファイルがあります。 # d6f60016-0011-49c4-8fca-e2b3496ad5a7 client1 d5873483-5b98-4895-ab09-9891d80a13da client2 be0ed6a6-e73a-4f33-b755-47226ff22401 another_client ... ファイルにリストされているすべてのuuidに、bashを使用して、対応するファイルがディレクトリにあることを確認する必要があります。 これまでのところ、私はifステートメントを使用して間違った方向から来ているように感じ、ソースディレクトリ内のファイルをループ処理する必要があると感じています。 source_directoryおよびuuid_list変数は、スクリプトの前半で割り当てられています。 # Check the entries in the file list while read -r uuid name; do # Ignore comment lines [[ $uuid = \#* ]] && continue if [[ -f …

2
IPを禁止するシェルスクリプト
一部のIPは私のサーバーの何千もの接続を開いています。Ubuntu 14サーバーがあります。次のコマンドを使用して合計接続を確認します。 netstat -an | grep tcp | awk '{print $ 5}' | カット-f 1 -d:| 並べ替え| uniq -c | ソート-n 次に、次のiptablesルールを使用して原因のIPをブロックします。 iptables -I INPUT 1 -s xxxx -j DROP すべて正常に動作し、IPアドレスをブロックします。ただし、サーバーを監視するために24時間年中無休でオンラインにすることはできません。自動的に実行するために使用できるシェルスクリプトがあるかどうか疑問に思っていましたか?たとえば、IPが常にXを超える数の接続を開く場合、上記のiptablesルールによって自動的に禁止されます。

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