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

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

2
非対話形式でSSL証明書を作成する[終了]
閉じた。この質問には、詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 5年前に閉鎖されました。 SSL証明書を対話形式で非対話的に作成します。つまり、データの入力を求められることはありません。 証明書を作成する通常の方法は次のとおりです。 openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \ -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 私は次を試しました: openssl genrsa -out server.key 2048 touch openssl.cnf cat >> openssl.cnf <<EOF [ req ] prompt = no distinguished_name = req_distinguished_name [ req_distinguished_name ] C = GB ST = Test State L …
28 scripting  ssl 

2
`set -eu`を使用する場合のEXITおよびERRトラップの正しい動作
set -e(errexit)、set -u(nounset)とともにERRおよびEXITトラップを使用すると、奇妙な動作が見られます。それらは関連しているように見えるので、それらを1つの質問に入れるのは合理的です。 1)set -uERRトラップをトリガーしません コード: #!/bin/bash trap 'echo "ERR (rc: $?)"' ERR set -u echo ${UNSET_VAR} 予期:ERRトラップが呼び出されます。RC!= 0 実際:ERRトラップは呼び出されません、RC == 1 注:set -e結果は変わりません 2)set -euEXITトラップでの終了コードの使用は1ではなく0です コード: #!/bin/bash trap 'echo "EXIT (rc: $?)"' EXIT set -eu echo ${UNSET_VAR} 予期:EXITトラップが呼び出されます、RC == 1 実際:EXITトラップが呼び出され、RC == 0 注:を使用するset +e場合、RC == 1です。他のコマンドがエラーをスローすると、EXITトラップは適切なRCを返します。 編集:このトピックには、使用されているBashバージョンに関連している可能性があることを示唆する興味深いコメントを含むSO投稿があります。このスニペットをBash 4.3.11でテストすると、RC …


1
シバン後のサイン?
Apacheのhttpdプロジェクトの「サポート/ apxs.in」スクリプトで囲まれたテキストの@兆候が後に来ます#!。つまり、スクリプトの最初の行は次のとおりです。 #!@perlbin@ -w これはPerlのものですか、それともUNIXカーネルのものですか?つまり、path/to/script/script_name.in?を使用してこのスクリプトを実行することが可能です。 そうでない場合、スクリプトを開始する理由は何#!ですか?

6
パスワードを何度も入力することなく、SSH pubキーをサーバーのリストに伝達するにはどうすればよいですか?
最近、サーバーのリストへのユーザー名/パスワードアクセスが許可されたので、SSH公開キーをこれらのサーバーに伝達して、より簡単にログインできるようにします。 明確になるように: これを自動化するために利用できる既存の公開キーはリモートサーバー上にありません。 これは、これらのサーバーに初めてログインするときになります。サーバーにアクセスするために資格情報を常に入力する必要はありません。 またssh-copy-id、forループで繰り返しパスワードを入力する必要もありません。


7
ブール変数を反転
簡単なスクリプトを試してみたい flag=false while !$flag do read x if [ "$x" -eq "true" ] then flag=true fi echo "${x} : ${flag}" done しかし、私はそれを実行すると、I型の場合true、私はそれを見ますx="true"とflag="true"、しかし、サイクルが終了していません。スクリプトの何が問題になっていますか?ブール変数を適切に反転するにはどうすればよいですか?
26 bash  scripting 


10
ワンライナーvsスクリプト
私は、ワンライナーの代わりにスクリプトを書くことへの軽expressingを表明する(時には恐れる)多くの質問と回答とコメントに気づきました。だから、私は知りたい: 「ワンライナー」ではなく、いつ、なぜスタンドアロンスクリプトを記述する必要がありますか?またはその逆? 両方のユースケースと長所と短所は何ですか? 一部の言語(awkやperlなど)は他の言語(pythonなど)よりもワンライナーに適していますか?もしそうなら、なぜですか? 個人的な好みの問題なのか、それとも特定の状況でどちらか一方を書くのに十分な(つまり客観的な)理由があるのか​​?それらの理由は何ですか? 定義 one-liner:シェルコマンドラインに直接入力または貼り付けられた一連のコマンド。多くの場合、関係するパイプラインおよび/またはなどの言語の使用sed、awk、perl、および/またはツールのようなgrepまたはcutまたはsort。 定義する特性であるのは、コマンドラインでの直接実行です-長さとフォーマットは無関係です。「ワンライナー」は、すべて1行にすることも、複数行にすることもできます(たとえば、sh for loop、埋め込みawkまたはsedコード、改行とインデントを使用して読みやすくします)。 script:ファイルに保存されて実行される、解釈された言語のコマンドのシーケンス。スクリプトは完全に1つの言語で記述されている場合もあれば、他の言語を使用する複数の「ワンライナー」を囲むシェルスクリプトラッパーである場合もあります。 私は自分の答えを持っています(後で投稿します)が、これは私の個人的な意見だけでなく、主題に関する標準的なQ&Aになりたいです。

3
画面でスクリプトを実行する
切り離された画面でbashスクリプトを実行したい。スクリプトはプログラムを数回呼び出しますが、各プログラムは待機に時間がかかりすぎます。私の最初の考えは、単に画面を開いてからスクリプトを呼び出すことでしたがctrl-a d、スクリプトの実行中に(byで)切り離すことはできないようです。それで、私はいくつかの調査を行い、シバンを次のように置き換えるこの指示を見つけました: #!/usr/bin/screen -d -m -S screenName /bin/bash しかし、それも機能しません(オプションは認識されません)。助言がありますか? PS screen -dmS name ./script.shたぶん、私の目的にはおそらく役立つと思いますが、これをスクリプトに組み込む方法についてはまだ興味があります。ありがとうございました。

4
エコーを使用した色付きテキストの印刷
エコー、たとえば赤色を使用して色付きのテキストを印刷する場合、コードは次のecho -e "\e[1;31m This is red text \e[0m" とおりです。この例では、31が赤色のコードであり、他の色の数が次のとおりであることを知っています。 Black 0;30 Dark Gray 1;30 Blue 0;34 Light Blue 1;34 Green 0;32 Light Green 1;32 Cyan 0;36 Light Cyan 1;36 Red 0;31 Light Red 1;31 Purple 0;35 Light Purple 1;35 Brown 0;33 Yellow 1;33 Light Gray 0;37 White 1;37 背景色の場合、numは40〜47です。 何をん:私の質問はこれです\eと[し、m(31の後に)正確にここに意味ですか?\ …

5
コマンドをテストして検索する場合、bashを使用するにはどうすればよいですか?
クラッシュログのあるディレクトリがあり、findコマンドに基づいてbashスクリプトで条件文を使用したいと思います。 ログファイルは次の形式で保存されます。 /var/log/crashes/app-2012-08-28.log /var/log/crashes/otherapp-2012-08-28.log 最後の5分間に変更された特定のアプリのクラッシュログがある場合にのみifステートメントがtrueを返すようにします。find私が使用することをコマンドは次のとおりです。 find /var/log/crashes -name app-\*\.log -mmin -5 それをifステートメントに適切に組み込む方法がわかりません。私はこれがうまくいくと思う: if [ test `find /var/log/crashes -name app-\*\.log -mmin -5` ] then service myapp restart fi 不明な点がいくつかあります。 私はifフラグを見ましたが、もしあれば、どれを使うべきかわかりません。 testディレクティブが必要ですか、それともfindコマンドの結果に対して直接処理する必要がありますか、それともfind... | wc -l代わりに行カウントを取得するために使用する必要がありますか? この質問に答えるために100%必要というわけではありませんがtest、コマンドが返すリターンコードに対するテストのためですか?そして、それらは目に見えないようなものです- stdout/ stderr?このmanページを読みましたが、いつ使用するtestか、どのようにデバッグするかについてはまだはっきりしていません。



8
Linuxで最も普遍的なスクリプト言語は?
この質問は、UnixおよびLinux Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 私たちはLinuxシステム用のスクリプトを書いていますが、Linuxで現在最も一般的に使用されるスクリプト言語は何かという議論があります。Bash、SH、Posix?何?

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