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

スクリプティングは、一般に形式性が低く、タイプが緩く、明示的なコンパイルが不要であることを特徴とするプログラミング形式です。多数のスクリプト言語があり、これらはコマンドラインアプリケーション、GUI、サーバー側アプリケーション、拡張モジュールなど、さまざまなシナリオで使用されます。


15
Bashスクリプトの範囲からの乱数
2000-65000シェルスクリプトからランダムなポート番号を生成する必要があります。問題は$RANDOM15ビットの数値なので、行き詰まっています! PORT=$(($RANDOM%63000+2001)) サイズの制限がなければ、うまく機能します。 誰かが私がこれを行う方法の例を持っていますか、おそらく/dev/urandom範囲から何かを抽出してそれを取得することによって?
196 bash  shell  scripting 

7
バッシュとシェルスクリプトの変数の大文字の修正
私はすべて大文字の変数を含む多くのシェルスクリプトを実行しますが、これには重大な誤解があると常に考えていました。私の理解では、慣例により(そしておそらく以前から必要に応じて)、環境変数はすべて大文字で記述されています。 しかし、Bashのような最近のスクリプト環境では、一時的な変数には小文字の名前を使用し、エクスポートされた(つまり環境)変数には大文字の名前を使用するという規則を常に優先してきました。例えば: #!/usr/bin/env bash year=`date +%Y` echo "It is $year." export JAVA_HOME="$HOME/java" それはいつも私の考えです。このアプローチに同意または反対する信頼できる情報源はありますか、それとも純粋にスタイルの問題ですか?

13
関数がbashに存在するかどうかを判別する
現在、bashから実行される単体テストをいくつか行っています。ユニットテストは、bashスクリプトで初期化、実行、クリーンアップされます。このスクリプトには、通常、init()、execute()、およびcleanup()関数が含まれています。ただし、必須ではありません。定義されているかどうかをテストしたいと思います。 私は以前ソースを手探りで落ち着かせることでこれを行いましたが、それは間違っているようでした。これを行うためのよりエレガントな方法はありますか? 編集:次のスニペットは魅力のように機能します: fn_exists() { LC_ALL=C type $1 | grep -q 'shell function' }


14
LinuxでPythonスクリプトをサービスまたはデーモンのように実行する方法
特定の電子メールアドレスをチェックし、新しい電子メールを外部プログラムに渡すPythonスクリプトを作成しました。このスクリプトを24時間年中無休で実行するにはどうすればよいですか(Linuxでデーモンやサービスに変更するなど)。プログラムで終了しないループも必要ですか、それとも、コードを複数回再実行するだけで実行できますか?

9
bashスクリプトでファイル名の拡張子を確認するにはどうすればよいですか?
私はbashで毎晩ビルドスクリプトを書いています。 1つの小さな障害を除いて、すべてが上手くダンディです。 #!/bin/bash for file in "$PATH_TO_SOMEWHERE"; do if [ -d $file ] then # do something directory-ish else if [ "$file" == "*.txt" ] # this is the snag then # do something txt-ish fi fi done; 私の問題は、ファイル拡張子を決定し、それに従って動作することです。問題がifステートメントにあり、txtファイルをテストしていることを知っています。 ファイルの拡張子が.txtであるかどうかを確認するにはどうすればよいですか?
170 bash  scripting  file 

12
正規表現に一致する最初の行の後のファイルの部分を取得するにはどうすればよいですか?
約1000行のファイルがあります。私のgrepステートメントに一致する行の後のファイルの部分が必要です。 あれは: $ cat file | grep 'TERMINATE' # It is found on line 534 したがって、535行目から1000行目までのファイルをさらに処理する必要があります。 どうやってやるの?
169 bash  shell  scripting  grep 

6
改行を印刷せずにawk
変数sum / NRを各反復で並べて出力したい。各反復でawkが改行を印刷しないようにするにはどうすればよいですか?私のコードでは、各反復でデフォルトで改行が出力されます for file in cg_c ep_c is_c tau xhpl printf "\n $file" >> to-plot.xls for f in 2.54 1.60 800 awk '{sum+=$3}; END {print sum/NR}' ${file}_${f}_v1.xls >> to-plot-p.xls done done 出力をこのように見せたい cg_c ans1 ans2 ans3 ep_c ans1 ans2 ans3 is_c ans1 ans2 ans3 tau ans1 ans2 ans3 xhpl …
169 scripting  awk  newline 

13
Rubyをシェルスクリプトに使用するにはどうすればよいですか?
やりたい簡単なシェルスクリプトタスクがあります。 例:正規表現に一致するファイルのリストから、作業ディレクトリ内のファイルを選択します。 標準のbashとgrepを使用してこの種のことを実行できることはわかっていますが、コマンドラインプログラムやフラグなどのヒープを覚えておく必要がなく、WindowsやLinuxで機能するクイックスクリプトをハックできるといいですね。 これを実行しようとしましたが、現在のディレクトリへの参照などの情報をどこで取得する必要があるかについて混乱しました 問題は、Rubyシェルスクリプトを作成するために、Rubyライブラリのどの部分を知る必要があるかということです。
165 ruby  shell  scripting 

10
Bashのevalコマンドとその一般的な使用法
bashのmanページを読んだ後、この投稿に関して。 evalコマンドが正確に何を行うのか、およびその典型的な使用法を理解するのにまだ問題があります。たとえば、次の場合: bash$ set -- one two three # sets $1 $2 $3 bash$ echo $1 one bash$ n=1 bash$ echo ${$n} ## First attempt to echo $1 using brackets fails bash: ${$n}: bad substitution bash$ echo $($n) ## Second attempt to echo $1 using parentheses fails bash: 1: command …
165 linux  bash  shell  scripting  eval 

6
#!/ usr / bin / python3の目的
いくつかのスクリプト言語でこれに気づきましたが、この例ではPythonを使用しています。多くのチュートリアルで#!/usr/bin/python3は、最初の行から始めます。なぜこれがあるのか​​分かりません。 オペレーティングシステムは、それがpythonスクリプトであることを認識すべきではありません(明らかに、それを参照しているため、インストールされています)。 ユーザーがUNIXベースではないオペレーティングシステムを使用している場合 何らかの理由で言語が別のフォルダにインストールされている ユーザーのバージョンが異なります。特にそれが完全なバージョン番号ではない場合(Python3とPython32のように) どちらかと言えば、上記の理由により、これがpythonスクリプトを壊しているのを見ることができました。
160 python  scripting 

16
bashの最新のXファイル以外をすべて削除します
bashを使用したかなり標準的なUNIX環境で、最新のXファイル以外のすべてをディレクトリから削除するコマンドを実行する簡単な方法はありますか? もう少し具体的な例を示すために、あるcronジョブが1時間ごとにファイル(たとえば、ログファイルまたはtar-upされたバックアップ)をディレクトリに書き込むことを想像してください。5未満になるまで、そのディレクトリ内の最も古いファイルを削除する別のcronジョブを実行する方法が欲しいのですが。 また、明確にするために、ファイルは1つしか存在しないため、削除しないでください。
157 bash  unix  scripting 


13
LinuxでbashスクリプトからGUIメッセージボックスを表示する方法は?
Ubuntu linuxでいくつかの小さなbashスクリプトを書いています。入力を入力したり出力を表示したりするために端末ウィンドウを必要とせずに、GUIからそれらを実行できるようにしたいと考えています。 これまでのところ必要な唯一の入力はsudoのパスワードです-そしてgksudoはそれをうまく処理します。しかし、メッセージボックスを表示する簡単な方法はまだ見つかりません。ある種の「gkmessage」コマンドを利用できますか?私はデフォルトのUbuntuインストールにあるものを好みますが、必要に応じて新しいパッケージをインストールしてもかまいません。
151 linux  bash  scripting  ubuntu  gtk 

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