相关疑难解决方法(0)

在bash shell脚本中传播所有参数

我正在编写一个调用另一个脚本的非常简单的脚本,我需要将参数从当前脚本传播到我正在执行的脚本.

例如,我的脚本名称是foo.sh和调用bar.sh

foo.sh:

bar $1 $2 $3 $4
Run Code Online (Sandbox Code Playgroud)

如何在不明确指定每个参数的情况下执行此操作?

bash command-line-arguments

769
推荐指数
10
解决办法
39万
查看次数

将所有参数从Bash脚本传递给另一个命令

获取bash脚本的所有给定参数并将它们全部传递到脚本中的另一个命令的最简单方法是什么?例如:

命令行:

./runProgram.sh [ARGS HERE]
Run Code Online (Sandbox Code Playgroud)

脚本:

#! /bin/bash
cd bin/
java com.myserver.Program [ARGS HERE]
Run Code Online (Sandbox Code Playgroud)

bash scripting parameter-passing command-line-arguments

276
推荐指数
0
解决办法
6万
查看次数

如何在Bash中使用标志获取参数

我知道我可以轻松地在bash中获取这样的定位参数:

$0 要么 $1

我希望能够使用这样的标志选项来指定使用每个参数的内容:

mysql -u user -h host
Run Code Online (Sandbox Code Playgroud)

通过国旗而不是按位置获得-u param价值和-h param价值的最佳方法是什么?

bash shell

260
推荐指数
8
解决办法
22万
查看次数

在 bash 中处理命名参数

下面是脚本。当我用命令运行这个时

./scriptname --deploy --uglify"
Run Code Online (Sandbox Code Playgroud)

我得到了echo "$deploy"as的结果true。但应该是uglify正确的,因为deploy=$2

#!/bin/bash

deploy=true
uglify=true

while (( $# > 1 )); do 
    case $1 in
    --deploy) deploy="$2" echo "$deploy";;
    --uglify) uglify="$2";;
    *) break;
    esac; shift 2
done
Run Code Online (Sandbox Code Playgroud)

bash shell

6
推荐指数
1
解决办法
4681
查看次数

从bash脚本将参数传递给python

我一直在研究bashpython脚本的脚本混合。bash 脚本可以接收未知的计数输入参数。例如 :

tinify.sh  test1.jpg test2.jpg test3.jpg .....
Run Code Online (Sandbox Code Playgroud)

在 bash 接收到所有信息后,它将这些参数传递给tinify.py. 现在我想出了两种方法来做到这一点。

  • 循环bash并调用python tinify.py testx.jpg

    换句话说,python tinify test1.jpg那么python tinify test2.jpg,finalypython tinify test3.jpg

  • 将所有参数传递给tinify.py然后循环python

但是有一个问题,我想过滤相同的参数,例如如果用户输入tinify.sh test1.jpg test1.jpg test1.jpg,我只想要tinify.sh test1.jpg。所以我认为用第二种方式更容易,因为 python 可能很方便。

如何将所有参数传递给 python 脚本?提前致谢!

python linux bash shell

4
推荐指数
2
解决办法
8252
查看次数

如何调整我的 bash 函数,以便我可以省略双引号?

一整天,我经常输入这样的内容:

git stash push -u -m "some phrase as a message"

我宁愿输入:

stpu some phrase as a message

所以在这个答案的帮助下,我在我的中创建了一个函数~./bashrc

function stpu() {
  git stash push -u -m "${@}"
}
Run Code Online (Sandbox Code Playgroud)

现在我可以输入stpu "some phrase as a message",这与我想要的非常接近。

如何调整我的函数,以便可以省略双引号?

我尝试了许多不同的变体(添加更多被转义的双引号、添加单引号等),但没有让它起作用。

bash

1
推荐指数
1
解决办法
72
查看次数