相关疑难解决方法(0)

bash 支持异常吗?

bash 中是否可以引发异常?例如,当我们希望脚本在子命令中发生错误时退出时,这可能很有用。无一例外,我们能做的最好的事情似乎就是|| exit在每个子命令后面附加,这导致可读性很差。

我在bash手册中没有找到有关异常的描述。但我想知道是否有方法可以模拟它们。

bash exception

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

将参数传递给具有开关的 shell 脚本

我不确定这是否switch是正确的术语,因为我是新手Unix

我有一个 shell 脚本,需要我所说的 aswitch才能正常运行,但我也想传递参数:

./scriptname -cm
Run Code Online (Sandbox Code Playgroud)

如果我运行./scriptname它就会失败。但我也想传递各种论点:

./scriptname -cm arg1 arg2 arg3 arg4
Run Code Online (Sandbox Code Playgroud)

这似乎由于-cm. 通常,当我./scriptname arg1 arg2 arg3这样做时,它会正常工作,但一旦添加开关,它就会失败。建议?

编辑1:

添加一些更相关的代码:

./scriptname -cm
Run Code Online (Sandbox Code Playgroud)

将会通知

脚本名

gencmlicense()
{
echo $2
do stuff
}

gentermlicense()
{
do stuff
}

if [ "$1" = "-cm" ] ; then
    gencmlicense
elif [ "$1" = "-term" ] ; then
    gentermlicense
fi
Run Code Online (Sandbox Code Playgroud)

如果我添加一个参数,则echo $2不会打印出传递的第二个参数。

linux shell

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

Shell脚本(如果未评估条件以显示用户的帮助信息)

我编写了一个帮助菜单,以供参考shell脚本的使用 my_script.sh

echo $'\n\n'
echo $(printf '=%.0s' {1..100})
printf ' %.0s' {1..40}
echo "Welcome"
echo $(printf '=%.0s' {1..100})
echo $'\n'

arg=$1
echo "Input : $arg"
echo

if [[ arg -eq "-h" ]] || [[ arg -eq "-H" ]] || [[ arg -eq "-help" ]] || [[ arg -eq "-Help" ]] || [[ arg -eq "--h" ]] || [[ arg -eq "--H" ]] || [[ arg -eq "--help" ]] || [[ arg -eq "--Help" ]]; then
    echo "Help menu requested...."
    echo …
Run Code Online (Sandbox Code Playgroud)

linux bash shell

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

删除“ =“之后的字符串中的所有内容

我有一个var值变量

backup = urls://string.abc.com
Run Code Online (Sandbox Code Playgroud)

我想排除所有的东西,=所以var

urls://string.abc.com
Run Code Online (Sandbox Code Playgroud)

我正在使用,var | cut -d "="但没有给出正确的结果

linux bash cut sed

-2
推荐指数
1
解决办法
71
查看次数

curl:如果状态为 200,如何返回 0?

当响应状态为 200 时,如何返回 0?

现在我可以使用以下命令获取状态,例如 200:

curl -LI http://google.com -o /dev/null -w '%{http_code}\n' -s
Run Code Online (Sandbox Code Playgroud)

但是我需要做的是将这 200 转为 return 0。

我怎样才能做到这一点?

我尝试了以下命令,但没有返回:

if [$(curl -LI http://google.com -o /dev/null -w '%{http_code}\n' -s) == "200"]; then echo 0
Run Code Online (Sandbox Code Playgroud)

linux bash shell curl

-3
推荐指数
2
解决办法
1万
查看次数

标签 统计

bash ×4

linux ×4

shell ×3

curl ×1

cut ×1

exception ×1

sed ×1