インストールの進行にコマンドが含まれる状況があります。インストール用のコマンド(実際のコマンドではない)があるとし、最初のプロンプトをカスタムユーザーで入力したいとpatch
思います。次のスクリプトを作成しました。No
#!/bin/bash
patch -i <package> << EOF
No
EOF
chmod 777
その後、ファイルの実行時に入れましたが、./installScript.sh
権限が拒否されましたが、. installScript.sh
正常に動作しました。
手動でコマンドを実行してもpatch
機能します。質問したい内容は次のとおりです。 1/このフォーラムでは、
以前とは違いがわかりますが、なぜシェルが権限に影響を与えるのかわかりません。 2/スクリプトでこれをバイパスする方法はありますか?目標は代わりに使用できることです。./file
. file
./installScript.sh
. installScript.sh
答え1
以前は、このフォーラムで./fileと.fileについて知っていましたが、シェルが権限に影響を与える理由を理解できませんでした。
私も同じだ。しかし、確認することは...
- /bin/bashが存在し実行可能ですか?
- ファイルシステムのスクリプトはnoexecを使用してマウントされていますか?
- MACシステム(apparmor、SELinux、smack)を実行していますか?
私のスクリプトでこれをバイパスする方法はありますか?目標は、.installscriptの代わりに./installScript.shを使用できることです。
実行は対話型セッションで実行するssh user@remote "bash installScript.sh"
のと同じです。. installScript.sh