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

Bashコマンドシェル用に記述されたスクリプトに関する質問。エラー/構文エラーのあるシェルスクリプトについては、ここに投稿する前に、shellcheckプログラム(またはhttps://shellcheck.netのWeb shellcheckサーバー)で確認してください。Bashのインタラクティブな使用に関する質問は、スタックオーバーフローよりもスーパーユーザーで話題になる可能性が高くなります。


6
シェルスクリプトで文字列が空でもスペースでもないことを確認する
文字列がスペースでも空でもないことをチェックするはずの次のシェルスクリプトを実行しようとしています。ただし、上記の3つの文字列すべてで同じ出力が得られます。"[["構文も使用しようとしましたが、役に立ちませんでした。 これが私のコードです: str="Hello World" str2=" " str3="" if [ ! -z "$str" -a "$str"!=" " ]; then echo "Str is not null or space" fi if [ ! -z "$str2" -a "$str2"!=" " ]; then echo "Str2 is not null or space" fi if [ ! -z "$str3" -a "$str3"!=" …
91 bash  shell  freebsd 

7
引数を使用してbashからPythonスクリプトを呼び出す
以下を使用して、bashスクリプトからpythonスクリプトを実行できることを知っています。 python python_script.py しかし、bashスクリプトからPythonスクリプトに変数/引数を渡したい場合はどうでしょうか。どうやってやるの? 基本的に、bashはファイル名を処理し、次にpythonがそれをアップロードしますが、呼び出すときにファイル名をbashからpythonに送信する必要があります。
91 python  linux  bash  shell  debian 

7
Bash:関数をパラメーターとして渡す
Bashのパラメーターとして関数を渡す必要があります。たとえば、次のコード: function x() { echo "Hello world" } function around() { echo "before" eval $1 echo "after" } around x 出力する必要があります: before Hello world after 私evalはその文脈では正しくないことを知っていますが、それは単なる例です:) 何か案が?

5
標準入力から読み取るためにsedを取得するにはどうすればよいですか?[複製]
この質問にはすでにここに答えがあります: bashスクリプトの `s 'に不明なオプションをsed [重複] (4つの回答) 先月休業。 やっています grep searchterm myfile.csv | sed 's/replaceme/withthis/g' と取得 unknown option to `s' 私は何が間違っているのですか? 編集: コメントによると、コードは実際には正しいです。私の完全なコードは次のようなものでした grep searchterm myfile.csv | sed 's/replaceme/withthis/g' # my comment そして、何らかの理由で私のコメントがsedへの入力として提供されていたようです。非常に奇妙な。
91 linux  bash  shell 

13
Swiftスクリプトでターミナルコマンドを実行するにはどうすればよいですか?(例:xcodebuild)
CIbashスクリプトをswiftに置き換えたい。lsまたはなどの通常のターミナルコマンドを呼び出す方法がわかりませんxcodebuild #!/usr/bin/env xcrun swift import Foundation // Works println("Test") // Works ls // Fails xcodebuild -workspace myApp.xcworkspace // Fails $ ./script.swift ./script.swift:5:1: error: use of unresolved identifier 'ls' ls // Fails ^ ... etc ....
91 swift  bash  shell  xcodebuild 

5
AWS S3 CLIを使用してファイルをBASHのstdoutにダンプする方法は?
(lsコマンドで指定された)S3のパスを取得し、すべてのファイルオブジェクトの内容をにダンプするbashスクリプトを開始していますstdout。基本的にはcat /path/to/files/*、S3を除いて複製したいと思いs3cat '/bucket/path/to/files/*'ます。オプションを見る最初の傾向は、cpコマンドを一時ファイルに使用し、次にそれを使用するcatことです。 誰かがこれまたは同様のことを試しましたか、それとも私が見つけていないコマンドがすでにありますか?

6
環境変数を指定して同じコマンドラインにエコーできないのはなぜですか?
このスニペットを考えてみましょう: $ SOMEVAR=AAA $ echo zzz $SOMEVAR zzz zzz AAA zzz ここでは、1行目にを設定$SOMEVARしAAAています。2行目にエコーすると、AAA期待どおりの内容が表示されます。 しかし、その後、同じコマンドラインで変数を指定しようとすると、次のようになりますecho。 $ SOMEVAR=BBB echo zzz $SOMEVAR zzz zzz AAA zzz ... BBB期待どおりに取得できません-古い値(AAA)を取得します。 これはどのようになっているはずですか?もしそうなら、どうしてあなたは変数を指定してそれを機能させることができますLD_PRELOAD=/... program args ...か?何が欠けていますか?

5
ファイルツリー図を描画するために使用するツール[クローズ]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、StackOverflowのトピックになります。 7年前に閉鎖されました。 この質問を改善する ファイルツリー(ディレクトリが含まれるディレクトリなど)が与えられた場合、ワードプロセッサドキュメントに埋め込むことができるグラフィックファイルとしてファイルツリーの図を作成するスクリプトをどのように記述しますか。私はベクター(SVG、EPS、EMF ...)ファイルを好みます。ツールはWindowsで実行する必要がありますが、クロスプラットフォームが望ましいです。ツールは市販されていてもよいが、好ましくは無料である。 2012-02-20を更新します。質問は、ドキュメントサブプロジェクトに関連していました。ファイル(特にリソースと構成ファイル)がどこにあるかを説明する必要がありました。結局、DOSツリーコマンドを使用することになりました。結果を画面で取得し(短いフォルダーの場合)、長いフォルダーの場合はテキストファイルにリダイレクトし、それを編集しました。たとえば、サブフォルダーに20個の同様に入力されたファイルが含まれていて、個別に作成する時点では重要ではなかった場合、2つだけ残し、残りを1つの...行に置き換えました。次に、ファイルをコンソールに再度印刷し、画面で取得しました。画面をつかむ前に、前景色を黒に、背景色を白に変更して、見栄えを良くし、印刷する必要があるドキュメントのインクを節約する必要がありました。 それのためのより良いツールがないことは非常に驚くべきことです。時間があれば、Visio Extensionを作成するか、SVGを生成するコマンドラインである可能性があります。SVGはHTML5の標準以下であるため、オンラインドキュメントに簡単に含めることもできます。 2017-10-17を更新します。この質問はSOに属していないため、削除されて申し訳ありません。だから私はそれを言い換えました。WYSIWYGツールではなくスクリプトが必要です。したがって、どのスクリプト言語やライブラリでも問題ありません。つまり、これはコードを書く質問であり、私はSOに属していると信じています。

3
Bashコマンドラインと入力制限
入力の長さについて、bash(または他のシェル)に課せられたある種の文字制限はありますか?もしそうなら、その文字制限は何ですか? つまり、コマンドラインで実行するには長すぎるコマンドをbashで記述できますか?必要な制限がない場合、推奨される制限はありますか?

8
printfで色を使用する
このように書くと、テキストが青で出力されます。 printf "\e[1;34mThis is a blue text.\e[0m" しかし、printfでフォーマットを定義したいのですが: printf '%-6s' "This is text" 今、私は色を追加する方法をいくつか試しましたが、成功しませんでした。 printf '%-6s' "\e[1;34mThis is text\e[0m" フォーマットに属性コードを追加しようとしても成功しませんでした。これは機能せず、私の場合のようにフォーマットが定義されているprintfに色が追加されている例はどこにも見つかりません。
90 linux  bash  colors  printf 

13
bashスクリプトの実行中に、出力をファイルに強制的にフラッシュする
次のコマンドを使用してcrontabによって毎日呼び出される小さなスクリプトがあります。 /homedir/MyScript &> some_log.log このメソッドの問題は、some_log.logがMyScriptの終了後にのみ作成されることです。プログラムの実行中にプログラムの出力をファイルにフラッシュしたいので、次のようなことができます tail -f some_log.log 進捗状況などを追跡します。
90 bash  file  flush 

10
スターサインインgrepの使用
linux / bashの特定のファイルで部分文字列「abc」を検索しようとしています 私もです: grep '*abc*' myFile 何も返しません。 しかし、私がそうするなら: grep 'abc' myFile 正しく一致を返します。 さて、これは私にとって問題ではありません。しかし、もっと複雑な文字列をgrepしたい場合はどうすればよいですか? *abc * def * grepを使用してそれをどのように達成しますか?
90 regex  bash  grep 

12
SSH接続をチェックするbashスクリプトを作成するにはどうすればよいですか?
リモートマシンにログインして秘密鍵と公開鍵を作成するbashスクリプトを作成中です。 私の問題は、リモートマシンの信頼性が低く、常に稼働しているとは限らないことです。SSH接続が確立されているかどうかを確認するbashスクリプトが必要です。将来使用するために実際にキーを作成する前。
90 bash  ssh  connection 

8
予期しないbash出口で作成された一時ファイルを削除する
bashスクリプトから一時ファイルを作成しています。処理の最後にそれらを削除していますが、スクリプトはかなり長時間実行されているため、実行中にスクリプトを強制終了するか、CTRL-Cキーを押すだけで、一時ファイルは削除されません。 これらのイベントをキャッチして、実行が終了する前にファイルをクリーンアップする方法はありますか? また、これらの一時ファイルの名前と場所には、何らかのベストプラクティスがありますか? 私は現在、どちらを使用するかわかりません: TMP1=`mktemp -p /tmp` TMP2=`mktemp -p /tmp` ... そして TMP1=/tmp/`basename $0`1.$$ TMP2=/tmp/`basename $0`2.$$ ... それとももっと良い解決策がありますか?

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