Bashスクリプトは、ターミナルから直接実行された場合、コマンドに対して同じ出力を出力しません

user3846091

スクリプトから同じawkコマンドを実行しようとしていますが、余分なfalseが表示されます。それがどこから来たのかわかりませんが、ターミナルからコマンドを実行してもfalseは返されませんか?

get_state.sh

#/bin/bash

# sed -n '/\\State/{getline; print}' /var/opt/BESClient/besclient.config
export SERVER_STATE=`awk '/\\State/{getline; print $3}' /var/opt/BESClient/besclient.config`
echo $SERVER_STATE
echo $SERVER_STATE
exit 0

出力

./get_state.sh

false Live
false Live

だが

sh-4.1$ awk '/\\State/{getline; print $3}' /var/opt/BESClient/besclient.config

出力

Live
Wintermute

バックスラッシュはバックティックでエスケープする必要があり、一部のシェルもバックティックでエスケープする必要があり$ます。どちらかを行います:

#                            vv-- here --------------v
export SERVER_STATE=`awk '/\\\\State/{getline; print \$3}' /var/opt/BESClient/besclient.config`

または$()代わりに使用してください:

export SERVER_STATE=$(awk '/\\State/{getline; print $3}' /var/opt/BESClient/besclient.config)

false含まれている行の後の行の3番目のフィールドから来ているState(ではない\State)、そして、彼らは代わりに2の単一ラインに表示されていることをされているため、$SERVER_STATE引用符で囲まれていない中であります

echo $SERVER_STATE

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Bashスクリプトは、ターミナルから直接実行された場合、コマンドに対して同じ出力を出力しません

分類Dev

スクリプトからの出力に「mv:コマンドが見つかりません」と表示されるのに、シェルで直接実行した場合に表示されないのはなぜですか?

分類Dev

ターミナルから直接呼び出された場合は実行可能ファイルが起動しますが、シェルスクリプトから呼び出された場合は機能しません

分類Dev

コマンドラインでPythonスクリプトを実行しても、出力は出力されません

分類Dev

シェルスクリプトからコマンドを実行することはできませんが、ターミナルに直接入力する場合は問題ありません

分類Dev

Linux Bashスクリプトは、ファイル名のリストに対してターミナルコマンドを実行します

分類Dev

pycharmからスクリプトを実行できますが、ターミナルからは実行できません。ImportError:DLLのロードに失敗しました:指定されたモジュールが見つかりませんでした

分類Dev

1 つは bash ターミナルで、もう 1 つはサブプロセス ライブラリを使用した Python プログラムで、同じコマンドに対して異なる出力を取得する

分類Dev

Bashコマンドはターミナルで実行されますが、スクリプトファイルでは実行されません

分類Dev

起動スクリプトのXrandrコマンドは効果がありませんが、スクリプトは実行され、コマンドはターミナルから機能します

分類Dev

.shスクリプトはターミナルで機能しますが、「ターミナルで実行」を介して実行された場合は機能しません

分類Dev

ターミナルから実行するとスクリプトは正常に実行されますが、cronでは機能しません。どうして?

分類Dev

同じクラスから複数のオブジェクトをインスタンス化する場合はコードは実行されませんが、同じコードで重複するクラスからオブジェクトをインスタンス化する場合は機能します

分類Dev

「echo」を介して取得した出力は、ターミナルに貼り付けるとコマンドとして機能しますが、スクリプトでは機能しません

分類Dev

Pythonを使用したinput.txtファイルの同じ行コードにある場合、コメント行はエスケープされません

分類Dev

KafkaProducer for Pythonは、コマンドラインで実行された場合はメッセージを送信しますが、Pythonスクリプトを介して実行された場合は送信しません

分類Dev

Visual Studio Codeの出力をターミナルから出力に変更する方法は?試しましたが、コマンドが見つかりません

分類Dev

私のコマンドは、ターミナルから実行した場合にのみ機能します。ランチャーを使用すると動作しません。それを修正するにはどうすればよいですか?

分類Dev

スクリプトはターミナルで機能しますが、ProcessBuilderを使用して実行した場合は機能しません

分類Dev

コマンドはスクリプト(または-c)で機能しますが、直接(インタラクティブシェルで)実行された場合は機能しません

分類Dev

シェルスクリプトはphpから実行されましたが、shスクリプトのコマンドは実行されません

分類Dev

キーワードがトリガーされた場合にログファイルを監視するシェルスクリプトを実行してから、snmptrapコマンドを実行します

分類Dev

pgrepは、スクリプトから実行した場合とターミナルで実行した場合とで異なる結果を返します

分類Dev

Sedコマンドは、bashスクリプトから呼び出された場合は正しく実行されず、プロンプトから呼び出された場合は正常に機能します

分類Dev

bashスクリプトとターミナルでコマンドを実行すると出力が異なる

分類Dev

bashスクリプト-findコマンドを実行しても出力がありません

分類Dev

matlabからのpythonスクリプトの実行は機能しませんが、ターミナルからは正常に実行されます

分類Dev

プログラムはターミナルからは正常に実行されますが、シェルスクリプトからは機能しません

分類Dev

'。' exec()で使用された場合にスローされる内部または外部コマンドとして認識されませんが、コマンドラインから実行された場合は認識されません。

Related 関連記事

  1. 1

    Bashスクリプトは、ターミナルから直接実行された場合、コマンドに対して同じ出力を出力しません

  2. 2

    スクリプトからの出力に「mv:コマンドが見つかりません」と表示されるのに、シェルで直接実行した場合に表示されないのはなぜですか?

  3. 3

    ターミナルから直接呼び出された場合は実行可能ファイルが起動しますが、シェルスクリプトから呼び出された場合は機能しません

  4. 4

    コマンドラインでPythonスクリプトを実行しても、出力は出力されません

  5. 5

    シェルスクリプトからコマンドを実行することはできませんが、ターミナルに直接入力する場合は問題ありません

  6. 6

    Linux Bashスクリプトは、ファイル名のリストに対してターミナルコマンドを実行します

  7. 7

    pycharmからスクリプトを実行できますが、ターミナルからは実行できません。ImportError:DLLのロードに失敗しました:指定されたモジュールが見つかりませんでした

  8. 8

    1 つは bash ターミナルで、もう 1 つはサブプロセス ライブラリを使用した Python プログラムで、同じコマンドに対して異なる出力を取得する

  9. 9

    Bashコマンドはターミナルで実行されますが、スクリプトファイルでは実行されません

  10. 10

    起動スクリプトのXrandrコマンドは効果がありませんが、スクリプトは実行され、コマンドはターミナルから機能します

  11. 11

    .shスクリプトはターミナルで機能しますが、「ターミナルで実行」を介して実行された場合は機能しません

  12. 12

    ターミナルから実行するとスクリプトは正常に実行されますが、cronでは機能しません。どうして?

  13. 13

    同じクラスから複数のオブジェクトをインスタンス化する場合はコードは実行されませんが、同じコードで重複するクラスからオブジェクトをインスタンス化する場合は機能します

  14. 14

    「echo」を介して取得した出力は、ターミナルに貼り付けるとコマンドとして機能しますが、スクリプトでは機能しません

  15. 15

    Pythonを使用したinput.txtファイルの同じ行コードにある場合、コメント行はエスケープされません

  16. 16

    KafkaProducer for Pythonは、コマンドラインで実行された場合はメッセージを送信しますが、Pythonスクリプトを介して実行された場合は送信しません

  17. 17

    Visual Studio Codeの出力をターミナルから出力に変更する方法は?試しましたが、コマンドが見つかりません

  18. 18

    私のコマンドは、ターミナルから実行した場合にのみ機能します。ランチャーを使用すると動作しません。それを修正するにはどうすればよいですか?

  19. 19

    スクリプトはターミナルで機能しますが、ProcessBuilderを使用して実行した場合は機能しません

  20. 20

    コマンドはスクリプト(または-c)で機能しますが、直接(インタラクティブシェルで)実行された場合は機能しません

  21. 21

    シェルスクリプトはphpから実行されましたが、shスクリプトのコマンドは実行されません

  22. 22

    キーワードがトリガーされた場合にログファイルを監視するシェルスクリプトを実行してから、snmptrapコマンドを実行します

  23. 23

    pgrepは、スクリプトから実行した場合とターミナルで実行した場合とで異なる結果を返します

  24. 24

    Sedコマンドは、bashスクリプトから呼び出された場合は正しく実行されず、プロンプトから呼び出された場合は正常に機能します

  25. 25

    bashスクリプトとターミナルでコマンドを実行すると出力が異なる

  26. 26

    bashスクリプト-findコマンドを実行しても出力がありません

  27. 27

    matlabからのpythonスクリプトの実行は機能しませんが、ターミナルからは正常に実行されます

  28. 28

    プログラムはターミナルからは正常に実行されますが、シェルスクリプトからは機能しません

  29. 29

    '。' exec()で使用された場合にスローされる内部または外部コマンドとして認識されませんが、コマンドラインから実行された場合は認識されません。

ホットタグ

アーカイブ