Javaから実行するとLinuxスクリプトが正しく機能しない

アーメド・S・ドゥラーニ

アタッチされた外付けドライブをマウントし、マウントされたパスをテキストファイルに書き込むだけのこのスクリプトがあります。tinyCOreのターミナルからこのスクリプトを実行すると、問題なく動作します。以下は、スクリプトの実行に使用しているコードです。このコードは、アプリケーション全体でマウントやその他の目的に使用していますが、作成する必要のあるコードはありません。

コード:

  Process p = Runtime.getRuntime().exec(" sh /home/abc/mnt-ddc.sh");
   p.waitFor();

スクリプトを配列として使用しようとしましたが、役に立ちませんでした。クイックヘルプをいただければ幸いです。ありがとう。

UPDATEスクリプトがJavaから実行されると、何も起こらず、例外もスローされず、何も起こりません。私は以下に答えたすべての方法を試しましたが、うまくいきませんでした。

mnt-ddc.sh

#!/bin/sh
blkid -s LABEL | grep ddc- > ddc.txt        # Get DDC device name and label and write to ddc.txt

perl -pi -e 's/ LABEL="//g' ddc.txt     # Remove text "ddc- from ddc.txt

#perl -pi -e 's/ LABEL="ddc-//g' ddc.txt        # Remove text "ddc- from ddc.txt
perl -pi -e 's/" //g' ddc.txt           # Remove left over text " from ddc.txt

while IFS=: read dev label          # start loop and read device name to $dev and LABEL to $label
do

if mount | grep $dev; then
   echo -e "Already mounted"
else
    if [ ! -d /mnt/$label ]; then
       echo -n "Creating mount point..."
       sudo mkdir /mnt/$label
    fi
        echo -n "Mounting......"$label
    sudo mount $dev /mnt/$label
        echo
    if [ "$?" != "0" ]; then
        echo "Mount failed.  Exiting."
        echo "" > ddc.txt
        exit
    fi
fi

done < ddc.txt
エリオットフレッシュ

「sh」の前のスペースに気づきましたか?なぜ新しいシェルをスポーンするのですか?スクリプトを直接実行可能にし(例chmod +x /home/paftdl/NavData/mnt-ddc.sh)、それを呼び出すだけです-

Process p = Runtime.getRuntime().exec("/home/paftdl/NavData/mnt-ddc.sh");
InputStream is = p.getInputStream(); // Let's print what we get.
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
  System.out.println(line);
}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

リモートスクリプトから実行すると、findが機能しない

分類Dev

スクリプトから実行すると、Bashスクリプトがコマンドを正しく実行しない

分類Dev

crontabからBashスクリプトが正しく機能しない

分類Dev

PHPが機能しない状態でいくつかのPythonスクリプトを実行する

分類Dev

crontabからスクリプトを実行しているときに、シェルスクリプトでwhileループが機能しない

分類Dev

bashスクリプト内で実行すると、「履歴」が機能しなくなります

分類Dev

pycharmの外で実行するとPythonスクリプトが機能しなくなります

分類Dev

bashスクリプト内で実行すると、「履歴」が機能しなくなります

分類Dev

{tmp}からの実行が機能しているときに、{app}からのPowerShellスクリプトの実行がInnoSetupで失敗する

分類Dev

コミット後から実行すると、scpディレクトリが機能しないことを期待してください

分類Dev

PHPから実行するとSQLServerクエリが機能しない

分類Dev

cronジョブとして実行すると、スクリプトが期待どおりに機能しない

分類Dev

scalesPageToFitがiPadでiPhoneアプリを実行すると正しく機能しない(iOS 7)

分類Dev

PowerShellスクリプトがWindowsタスクスケジューラから正しく機能しない

分類Dev

<Link>で使用すると正しく機能するが、webpack.config.jsからリダイレクトされると機能しないReactルート

分類Dev

フルパスを使用して実行するとPythonスクリプトが機能しない

分類Dev

インスタンスがサーバーから実行されているときにWinformTopMostプロパティが正しく機能しない

分類Dev

Amazon Linunからubuntuに移行すると、initスクリプトが機能しなくなりました。

分類Dev

suidスクリプトが正しく機能しない

分類Dev

bashスクリプトが正しく機能しない

分類Dev

Powershellスクリプトが正しく機能しない

分類Dev

スクリプトが正しく機能しない

分類Dev

sudo で実行しないと Python スクリプトが機能しない

分類Dev

PHPスクリプトを実行するAJAX(jquery)が機能しない

分類Dev

Erlangブートスクリプトがコンソールからは機能するが、initシステム(sysvinit、upstart、systemd)から実行すると機能しないのはなぜですか?

分類Dev

&でバックグラウンドで実行すると、Nohup for Pythonスクリプトが機能しない

分類Dev

/ bin / shを使用するとスクリプトが正しく実行されない

分類Dev

JavaからAndroidシステムコマンドを発行すると正しく機能しない

分類Dev

PHPスクリプトから実行すると、MySQL一時変数が機能しません

Related 関連記事

  1. 1

    リモートスクリプトから実行すると、findが機能しない

  2. 2

    スクリプトから実行すると、Bashスクリプトがコマンドを正しく実行しない

  3. 3

    crontabからBashスクリプトが正しく機能しない

  4. 4

    PHPが機能しない状態でいくつかのPythonスクリプトを実行する

  5. 5

    crontabからスクリプトを実行しているときに、シェルスクリプトでwhileループが機能しない

  6. 6

    bashスクリプト内で実行すると、「履歴」が機能しなくなります

  7. 7

    pycharmの外で実行するとPythonスクリプトが機能しなくなります

  8. 8

    bashスクリプト内で実行すると、「履歴」が機能しなくなります

  9. 9

    {tmp}からの実行が機能しているときに、{app}からのPowerShellスクリプトの実行がInnoSetupで失敗する

  10. 10

    コミット後から実行すると、scpディレクトリが機能しないことを期待してください

  11. 11

    PHPから実行するとSQLServerクエリが機能しない

  12. 12

    cronジョブとして実行すると、スクリプトが期待どおりに機能しない

  13. 13

    scalesPageToFitがiPadでiPhoneアプリを実行すると正しく機能しない(iOS 7)

  14. 14

    PowerShellスクリプトがWindowsタスクスケジューラから正しく機能しない

  15. 15

    <Link>で使用すると正しく機能するが、webpack.config.jsからリダイレクトされると機能しないReactルート

  16. 16

    フルパスを使用して実行するとPythonスクリプトが機能しない

  17. 17

    インスタンスがサーバーから実行されているときにWinformTopMostプロパティが正しく機能しない

  18. 18

    Amazon Linunからubuntuに移行すると、initスクリプトが機能しなくなりました。

  19. 19

    suidスクリプトが正しく機能しない

  20. 20

    bashスクリプトが正しく機能しない

  21. 21

    Powershellスクリプトが正しく機能しない

  22. 22

    スクリプトが正しく機能しない

  23. 23

    sudo で実行しないと Python スクリプトが機能しない

  24. 24

    PHPスクリプトを実行するAJAX(jquery)が機能しない

  25. 25

    Erlangブートスクリプトがコンソールからは機能するが、initシステム(sysvinit、upstart、systemd)から実行すると機能しないのはなぜですか?

  26. 26

    &でバックグラウンドで実行すると、Nohup for Pythonスクリプトが機能しない

  27. 27

    / bin / shを使用するとスクリプトが正しく実行されない

  28. 28

    JavaからAndroidシステムコマンドを発行すると正しく機能しない

  29. 29

    PHPスクリプトから実行すると、MySQL一時変数が機能しません

ホットタグ

アーカイブ