私はこれに似た質問を見ましたが、その答えはGitに関連していて、ここでは使用しませんでした。
私はしばしば小さなスクリプトを作成して実行できるコマンドラインスキルが非常に限られている他の人に送信します。ユーザーが実行可能ファイルの権限を変更する必要がないようにスクリプトをパッケージ化する方法はありますか?最初の実行可能スクリプトが他のすべてのスクリプトの権限を変更するようにスクリプトをパッケージ化しようとしましたが、この時点でユーザーが必要としない方法で最初のスクリプト実行権限を送信する方法が見つかりませんでした。それを提供してください。chmod +x First_script
解決策がなくてこの壁にぶつかったのでしょうか?
答え1
簡単な方法は、圧縮されたアーカイブであるtar
tarballを作成することです。 root アクセスで作成し、ユーザーも root アクセスでコンテンツを抽出する場合は、権限を維持する必要があります。
はい
sudo -cvzf filename.tar.gz directory # create a compressed tar archive of the directory and its content
cd /to-where-you-want-it-extracted
sudo -xvzf filename.tar.gz # extract the content from the archive
詳細情報があり、インターネット上で良いチュートリアルを見つけるman tar
ことができます。tar
答え2
これで、実行権限を持つスクリプトを関連オペレーティングシステムのパッケージ形式にラップできます。
その後、ユーザーはパッケージをインストールするだけで自動的に適切な権限を取得します。
ディスカッションDebianベースのオペレーティングシステムでは、この問題に対する簡単な解決策です。
答え3
shar
see コマンドは、man shar
この種のタスクを実行するように設計されています。
またはman shar
https://manpages.ubuntu.com/manpages/bionic/en/man1/shar.1.html
説明する
shar creates "shell archives" (or shar files) which are in text format and can be emailed.
These files may be unpacked later by executing them with /bin/sh. The resulting archive
is sent to standard out unless the -o option is given. A wide range of features provide
extensive flexibility in manufacturing shars and in specifying shar "smartness". Archives
may be fairly simple (--vanilla-operation) or essentially a mailable tar archive.
そして
はい
The first shows how to make a shell archive out of all C program sources. The second
produces a shell archive with all .c and .h files, which unpacks silently. The third
gives a shell archive of all uuencoded .arc files, into numbered files starting from
arc.sh.01. The last example gives a shell archive which will use only the file names at
unpack time.
shar *.c > cprog.shar
shar -Q *.[ch] > cprog.shar
shar -B -l28 -oarc.sh *.arc
shar -f /lcl/src/u*.c > u.sh