linux - Shell 脚本 -path 和运行命令在一行中

标签 linux bash shell

我需要使用主 shell 脚本(其中包含启动其他 shell 脚本的所有命令)来执行“n”个 shell 脚本。由于所有其他 shell 脚本都位于不同的位置,无法为所有脚本提供相同的路径,并且我不想重复“cd”命令,因此将重复执行相同的操作。

除此之外,有没有什么方法可以让我在一行中同时给出运行和路径来启动我的 shell 脚本?

例如:

"run command" "path" (for  file)
"run command" "path" (for  file1)

请任何人帮忙解决这个问题。

最佳答案

据我了解您的要求,它列出了以下目标:

  1. 您不想更改当前路径以便在不同路径执行不同脚本。

    解决方案:

    a.您可以使用完整绝对路径直接在命令行中运行脚本,而无需更改当前路径。

    b.您可以使用 bash 命令、pushd 和 popd 在当前路径和其他位置之间频繁切换。

  2. 启动 shell 脚本,并在一行中给出运行和路径。 解决办法:

    这可以通过在两个命令之间使用分号来实现。例如: 通过 1 行命令在当前目录之外的其他位置创建文件夹可以如下完成:

    cd/home/用户; mkdir 测试文件夹

  3. 如果运行命令使用路径作为运行命令的输入参数。 解决办法:

    这可以通过在执行每个命令之前使用 pushd 和 popd 命令来实现。

关于linux - Shell 脚本 -path 和运行命令在一行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19490139/

相关文章:

bash - 使用docker exec将带有转义字符的参数传递给脚本

bash - 如何在shell脚本中生成uuid

linux - 为什么我的命名管道输入命令行在被调用时挂起?

linux - 检查是否在 Centos 7 上没有 sudo 的情况下启用了虚拟化?

c - openssl 1.1 中是否弃用了 BIGNUM BN_ 函数?

bash - 将 nohup 的输出错误发送到 syslog

regex - 当一个模式是 bash/awk 中的变量时如何在两种模式之间取线(动态正则表达式)

PHP exec() 无法在 Raspberry apache 服务器上运行

python - 打开从 os.listdir() 找到的文件并比较里面的行?

linux - PostgreSQL 导入文件