파일을 실행 파일로 보내는 방법은 무엇입니까? (git 없이)

파일을 실행 파일로 보내는 방법은 무엇입니까? (git 없이)

나는 이것과 비슷한 질문을 보았지만 그 대답은 Git과 관련이 있었고 여기서는 사용하지 않았습니다.

나는 종종 작은 스크립트를 만들어 실행할 수 있는 명령줄 기술이 매우 제한된 다른 사람들에게 보냅니다. 사용자가 실행 파일에 대한 권한을 변경할 필요가 없도록 스크립트를 패키지화하는 방법이 있습니까? 첫 번째 실행 가능 스크립트가 다른 모든 스크립트의 권한을 변경하도록 스크립트를 패키징하려고 시도했지만 이 시점에서 사용자가 필요하지 않은 방식으로 첫 번째 스크립트 실행 권한을 보내는 방법을 찾을 수 없습니다. 그것을 제공하십시오.chmod +x First_script

해결책이 없어서 이 벽에 부딪힌 걸까요?

답변1

쉬운 방법은 압축된 tar아카이브인 tarball을 만드는 것입니다. 루트 액세스로 생성하고 사용자도 루트 액세스로 콘텐츠를 추출하는 경우 권한이 유지되어야 합니다.

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

sharsee 명령은 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

관련 정보