バイナリファイル(.jpg)のコピーはコマンドラインでは機能しますが、スクリプトでは機能しません。

バイナリファイル(.jpg)のコピーはコマンドラインでは機能しますが、スクリプトでは機能しません。

ファイルをコピーする非常に簡単なスクリプト

#!/bin/bash

#copy file
mtp-getfile "6" test2.jpg

実行可能ファイルとして設定し、以下を使用して実行しました。

sudo sh ./test.sh

アイコンのないtest2.jpgというファイルが提供されましたが、開けませんでした。 「ファイルの入力ストリームを開けません。」エラーが発生しました。

ただし、コマンドラインから次のコマンドを実行すると、

mtp-getfile "6" test2.jpg

期待どおりに動作します。私のスクリプトに問題がありますか?確認してみると、結果の.jpgファイルのバイト数はそれぞれ同じです。非常に奇妙な。

ベストアンサー1

必ずやるべきことです

sudo chown <user> <copied file name>

それぞれの場合に権限が異なる理由がわかりません。

おすすめ記事