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

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

3
ローカルパラメータ値を使用してリモートスクリプトを実行する
このタスクを自動化するにはどうすればよいですか? 1)Aにいます。2)BにSSHで接続します。3)Bでスクリプトを実行します。これには、Aで認識されているパラメータが必要です。 まず、sshで接続を開いたときに値を送信できると思いました。次に、おそらく1)と2)の間でより単純な方法で、スクリプト全体をBの同じ場所にscpします(古いスクリプトを置き換える)。それでも、Bでスクリプトを実行するにはどうすればよいですか。(つまり、最後のステップを自動化する方法です。もちろん、sshの後で手動で実行することもできます。) もう1つの考えは、おそらくsshを完全に破棄することです-私はBにWebページを持っているので、「内部」Webインターフェイスを介してスクリプトを呼び出すことができますか? それとも、まったく異なる方法でそれを行いますか?
8 ssh  scripting  scp  web 

7
ファイル名を短縮するLinuxスクリプトまたはプログラム
Linux版のnamemanglerを見つけるのにあまり成功していません。Windowsで読めるように1000個のファイルの名前を変更する必要があります。 これを実行できるLinuxプログラムを知っている人はいますか? そうでない場合、フォルダ内のすべてのファイルの名前をたとえば最初の16文字に変更するだけでよいため、スクリプトが機能する可能性があります。スクリプトルートを下る価値はあるかもしれませんが、どこから始めればよいかわかりません。

4
シェルプログラミング、一時ファイルの回避
私はよく同じパターンに従ってKSHシェルスクリプトを作成します。 (1)1つ以上のコマンドから出力を取得する (2)grep | cut | awk | sedを使用してフォーマットし、画面またはファイルに出力します そのために、(1)の出力を一時ファイルに保存し、そのファイルに対して(2)でフォーマットを行うことがよくあります。 そのコードを例にとります: TMPFILE=file.tmp # If tmpfile exists rm it. [ -f $TMPFILE ] && rm -f $TMPFILE for SERVICE in $(myfunc); do getInfo $SERVICE > $TMPFILE # Store raw output in the TMPFILE # I retrieve the relevant data from the …
8 shell  scripting  ksh 

1
外付けドライブへの自動増分バックアップ
バックグラウンド クライアントは、外付けドライブへの自動バックアップソリューションを必要とします(毎週オフサイトで使用するため)。通常、rsnapshot(またはカスタムrsyncスクリプトのロールアウト)をお勧めしますが、この質問は少し複雑です。 Arch Linuxベースのシステムはヘッドレスであるため、ソリューションは完全に自動化されている必要があり、ユーザーの介入は必要ありません。 理想的なシナリオは次のとおりです。 ユーザーがUSBハードドライブを接続する 完全な増分バックアップが作成されます ハードドライブがマウントされていません ハードドライブを取り外すことができることがユーザーに通知されます 提案 私が提案する解決策は、次のもので構成されています。 udevルールは自動的にドライブをマウント バックアップは以下から開始されます: 同じudevルールでrsnapshotスクリプトもトリガーされます inotifyを 作成する新しいマウントポイントとトリガを検出したイベントをrsnapshot 終了後、ドライブで実行されrsnapshotますumount ハードドライブに通知する可能な方法は削除することができます: CDドライブが開きます PCスピーカーから音が再生される エラーが発生した場合は、ユーザーにメールを送信し、ドライブをアンマウントしてください。 ご質問 私の提案は実現可能のようですが、明らかな欠陥はありますか?どうすれば堅牢にすることができますか? セキュリティ上の理由から、接続されているハードドライブがユーザーのものであることをどのように確認できますか?sshキー?ドライブラベル? これを含む既存の(Linux)ソリューションはありますか?

4
非対話モードでVIMスクリプトを実行することは可能ですか?
Gnatsバグトラッカーには、$ EDITORでチケットを開くコマンド(edit-pr)があります。私の$ EDITORはVIMです。このコマンドが$ EDITORでチケットを開くと、追加のキーストロークを行わなくても、スクリプトによる編集を自動的に実行したいと思います。 このように非対話的に実行できるVIMスクリプトを作成する方法はありますか?
8 vim  scripting 

4
ショートカットにbashスクリプトまたはエイリアスを使用しますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 1つまたは2つの小さな行スクリプトをたくさん保存する~/binディレクトリ(にありますPATH)があります。それらのいくつかはちょうどcdディレクトリに移動し、ファイルのようなコマンドを実行しますvim。しかし.bash_aliases、同じ目的で使用する多くのエイリアスがファイルにあります。 小さなbashスクリプトを作成するか、エイリアスを作成するかをどのように決定しますか?どちらに行っても問題ありませんか?

3
ウィンドウをすべてのデスクトップに移動するコマンド
ウィンドウメニューからではなく、スクリプト可能なコマンドを使用して、既存のウィンドウをすべてのデスクトップに移動(固定)できるようにしたいと思います。 wmctrl -r <WIN> -t <DESK>ウィンドウを別のデスクトップに移動しますが、これを使用してウィンドウをすべてのデスクトップに表示する方法が見つかりません。 wmctrl -lショー-1すべてのデスクトップ上に表示されているWindows用デスクトップ数としてではなく、合格-1には-t動作しません。 未解決のfedoraバグレポートはこの問題に対処しているようです。-1の値はによって内部的に使用されwmctrlているため、に渡すことができません-t。バグレポートでは、ターゲットウィンドウにスティッキープロパティを指定することで、ウィンドウを一部のウィンドウマネージャーに固定できることも記載されています。しかし、私はopenboxを実行しており、このアプローチは私にはうまくいかないようです。実際には、そのバグレポートにパッチが投稿されています。使ったことはありません。それは2009年からです。私は、パッチwmctrlや他の何かを避けたいと思います。 openboxで動作するこの動作をスクリプト化する別の方法はありますか?

3
別のパスからスクリプトを実行し、スクリプトのパスを知る方法は?
ファイルと同じパスにあるファイルにアクセスするスクリプトを実行する必要があります。 たとえば/home/me/folder/script.sh、次のスクリプトがあります/home/me/folder/myfile。このスクリプトはファイルにアクセスします。ファイルはスクリプトの同じパスにあるため、フルパスではmyfileなく、名前だけを使用します。 しかし、私がそれをから実行すると/tmp/、次のようになります: /tmp$ /home/me/folder/script.sh それは私に与えます: myfile: No such file or directory では、スクリプトで、ファイルがスクリプト自体と同じパスにあることをどのように言えますか?

1
kshが廃止された理由-eq
kshの最新バージョンはブロック-eq内での使用を廃止し[[ ]]、(( ))代わりに使用することを推奨します。どうしてこれなの?どこ(( ))より[[ ]]も優れていることについてのドキュメントは見つかりません。その構文はかなり明白です。 例えば: #!/bin/ksh var=1 if [[ $var -eq 1 ]] then echo ALPHA fi 与える [adam@hendrix test]$ ksh -n test.sh test.sh: warning: line 3: -eq within [[...]] obsolete, use ((...))

1
Linux for VMS DCLの「エラー時」とは何ですか?
使用VMS DCLの 1が使用してエラーをキャッチすることができ、コマンドスクリプトをon errorコマンド: $ on error then goto MyErrorHandler $ directory samiam.txt $ delete x.txt $ exit $MyErrorHandler: $ print "Something." Linuxlandではこれをどのように行うのですか? この例では、directoryまたはのエラーにより、delete制御がに移動しMyErrorHandlerます。

4
テキストハンドラーを使用してNessusレポートからIPアドレスとファイルパスを抽出する必要があります
Grep / Awk / Sed / Trなどのテキストハンドラーを使用して、NessusレポートからIPアドレスとファイルパスを抽出する必要があります。 IPアドレスとファイルパスを分離するスクリプトがありますが、テキストをさらに処理し、「パッチが適用されていないリモートバージョン...」を削除する必要があります。 192.168.1.1 - C:\WINDOWS\SYSTEM32\GPPREF.DLL HAS NOT BEEN PATCHED. REMOTE VERSION : 6.2.9200.16384 SHOULD BE : 6.2.9200.16859" 192.168.1.2 THE REMOTE HOST IS MISSING ONE OF THE FOLLOWING ROLLUP KBS : - 4022719 - 4022722C:\WINDOWS\SYSTEM32\BCRYPT.DLL HAS NOT BEEN PATCHED. REMOTE VERSION : 6.1.7601.23796 SHOULD BE …

1
同じ文字列内の値の比較[終了]
私のスクリプトでは、ウェブサイトからデータを取得しています。 content=$(wget 10.0.1.5:8000/currentsong?sid=1 -q -O -); それは、基本的にshoutcastサーバー上の曲情報です。しかし、問題があります:私はやりたい:新しい値が文字列の古い値と一致しない場合、何かをしてください。そのように: if [ $content.new != $content.old ]; then echo "New song info there.." else echo "NOTHING" fi どうやってやるの? 編集:私は、スクリプトがループで実行されると言って忘れました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.