【问题标题】:simple shell script to copy files and folders and also execute a command用于复制文件和文件夹并执行命令的简单 shell 脚本
【发布时间】:2012-09-11 19:25:41
【问题描述】:

我之前没有写过任何Shell脚本,但是我必须写一个简单的shell脚本来做以下事情;

我会将所有需要的文件保存在一个文件夹中,并将它与这个 shell 脚本捆绑为一个 tar 文件;所以当用户运行shell脚本时,它需要将各自的文件复制到各自的目的地。

copy的执行如下:

  1. 将 plugin.so 文件复制到 /usrlib/mozilla/plugins/

  2. 将 .so 库文件复制到 /usr/local/lib/

  3. 复制一些头文件目录(文件夹)到/usr/local/include/

最后,需要做 ldconfig。

【问题讨论】:

    标签: linux shell ubuntu


    【解决方案1】:

    基本上,您可以在脚本中添加您能够在终端本身内键入的任何命令。然后,您有两种执行方式:

    1. 从带有sh your_script.sh 的终端执行它。使用此解决方案,您甚至不需要授予它执行权限。
    2. 授予它执行权限并使用./your_script.sh 运行它。

    对于第二种解决方案,您必须以称为shebang 的文件开头。所以你的脚本看起来像:

    #!/bin/sh
    
    cp path/to/source path/to/destination
    cp path/to/source path/to/destination
    cp path/to/source path/to/destination
    
    ldconfig
    
    echo "Done!"
    

    没有别的了。只需一个接一个地编写命令。 第一行是所谓的shebang,告诉shell 脚本使用哪个解释器。

    注意:shell 脚本的扩展名通常是.sh,但实际上您可以随意命名文件。扩展名完全没有意义。

    好脚本!

    【讨论】:

    • 我需要将这个脚本与提到的库、插件文件和头文件一起打包。所以,谁想要安装我的插件,他们只需要运行这个脚本,它就会在他们的 Linux 机器上安装插件
    • @arunarun,你不能简单地创建一个包含所有内容的 tar.gz 文件并调用此脚本Install.sh 吗?您也可以将 tar.gz 文件上传到某个地方,然后让脚本下载它、解压缩并执行您需要的任何其他操作,在这种情况下,您可以将脚本交付给人们,而不是其他任何东西。
    • 这是一篇硕士论文。所以,我只打算连同这个脚本一起压缩所有文件和文件夹,并创建一个 tar.gz 文件。所以用户需要下载tar.gz并解压,然后他们只需要执行脚本文件来安装插件。我有一个疑问,我在这种情况下应该如何编写源路径,例如我只是想将我的 npplugin.so 文件从解压缩的文件夹复制到 /usrlib/mozilla/plugins/ 位置。
    • 使用绝对路径,因为您不知道用户将提取文件的位置。
    • 我还需要在这个脚本中做一些其他的事情。首先我需要检查 ubuntu 版本,如果它大于或等于 12,那么我需要复制更多文件。如何在 shell 脚本中进行条件检查?
    猜你喜欢
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多