创建带参数的bash脚本

时间:2014-01-26 23:46:04

标签: bash

我知道如何在bash中提问如“你想创建一个目录”并根据该输入做一些事情。但我想创建一个bash脚本,我可以这样做:

./somescriptname.sh install
./somescriptname.sh update
./somescriptname.sh assets get asset-name
./somescriptname.sh install
./somescriptname.sh update
./somescriptname.sh assets get all

我不确定如何阅读使用bash传递的命令行参数。

3 个答案:

答案 0 :(得分:2)

使用$1$2等来访问命令行参数:

#!/bin/sh

echo Arg 1: $1
echo Arg 2: $2
echo All args: $@

答案 1 :(得分:1)

你从$ 1,$ 2,$ 3获得args ...... arg $ 0是脚本名称

例如,

。这需要3个参数。如果不存在3美元,则不会打印任何内容。

#!/bin/bash
echo "the $1 eats a $2 every time there is a $3"
echo "bye:-)"

如果这是foo.sh: 然后在命令行上做:./ foo.sh男孩菠菜餐

你也应该学习get ops,这样你就可以轻松测试'参数'。因为你有多个。你可能想给每个arg一个定义。 http://wiki.bash-hackers.org/howto/getopts_tutorial

答案 2 :(得分:1)

来自Bash参考手册: Positional Parameters

  

位置参数是由一个或多个数字表示的参数,而不是单个数字0.位置参数在调用时从shell的参数分配,并且可以使用set builtin命令重新分配。位置参数N可以引用为$ {N},或者当N由单个数字组成时为$ N.