社区首页 >问答首页 >保存运行bash脚本退出代码问题

保存运行bash脚本退出代码问题
EN

Stack Overflow用户
提问于 2019-02-24 09:53:18
回答 1查看 2K关注 0票数 2

我正在运行保持,以平衡虚拟I。

我编写了一个简单的脚本检查是否设置了变量,如果是的话,“绕过”节点并将故障转移到“备份”节点E 211。它从我能用正确的变量判断的东西中退出。

但是并没有看到显然看到了退出代码。我哪里出错了?脚本是从keepalived.conf文件中运行的-是的,它被设置为可执行文件。如果我“破坏”了代码(有语法错误),它就会适当地失败。

代码语言:javascript
代码运行次数:0
复制
#!/bin/bash
set -e
echo "$vrrpTVIPS"; #for testing purposes only

if [ "$vrrpTVIPS" != "bypass" ]; then
 exit 0
else
 exit 1
fi

应该发生的是,如果是vrrpTVIPS == bypass,这个脚本应该与代码1一起退出(当我亲自运行它并检查我得到1echo $?时它就是这样做的)。为什么保存的脚本没有看到这一点并采取相应的行动(它记录脚本退出代码,并且它没有退出状态1的任何条目)?

我也尝试过倒车,但没有结果:

代码语言:javascript
代码运行次数:0
复制
#!/bin/bash
set -e
echo "$vrrpTVIPS";

if [ "$vrrpTVIPS" == "bypass" ]; then
 exit 1
else
 exit 0
fi

添加信息:这是来自keepalived.conf in /etc/keepalived/keepalived.conf的相关信息

代码语言:javascript
代码运行次数:0
复制
vrrp_script check_test_override {
        script "/usr/sbin/chktest.sh"
        internal 2
}

在文件后面的V实例配置中:

代码语言:javascript
代码运行次数:0
复制
track_script {
check_test_override
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-24 11:20:49

vrrp_script采用一个rise和/或fall参数,以及设置OK/KO转换所需的错误或成功次数的weight,以及根据此更改赋予多少优先级。

我认为这两者在默认情况下都是未定义的,所以您必须显式地定义它们。例如,要打开单个OK/failure退出代码,设置:

代码语言:javascript
代码运行次数:0
复制
vrrp_script check_test_override {
        script "/usr/sbin/chktest.sh"
        interval 2
        weight 2
        rise 1
        fall 1
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54854780

复制
相关文章
vim 退出命令(保存、放弃保存)_linux保存并退出vim
今天第一次接触这个vim文本编辑器,拿到一个陌生的工具,我们想的当然是最短的时间掌握它的基本操作,体会到成就感。如果你跟我一样,那么这篇教程或许对你有所帮助。
全栈程序员站长
2022/09/23
19.7K0
bash运行脚本的几种方式 转
bash shell 脚本执行的方法有多种,本文作一个总结,供大家学习参考。 假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之内,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。 方法二:以绝对路径的方式去执行bash shell脚本:
wuweixiang
2018/12/13
2.3K0
保存并退出vi的命令_vim退出并保存
vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim
全栈程序员站长
2022/11/11
8.2K0
linux vi命令 退出不保存,linux vi保存退出命令(如何退出vi)
若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令 :q! Vi放弃所作修改而直接退到shell下,则Vi在显示窗口的状态行给出提示信息: File exists (use ! to override) 此时, 在末行模式下,。
全栈程序员站长
2022/11/11
27.3K0
vim中保存退出命令_linux保存并退出vim
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172525.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/25
12.4K0
linux vim命令保存退出_vim退出命令
使用vim命令打开一个文件: 例如,打开openwrt系统下的system配置文件
全栈程序员站长
2022/09/23
23K0
bash脚本编程
编程语言: 编译器,解释器 编程语言:机器语言,汇编语言、高级语言 静态语言:编译型语言 强类型(变量) 关键字: 事先转换成可执行格式 c,c++,JAVA,C# 动态语言:解释型语言 on the fly 弱类型 边解释变执行 php,shell,python,perl(面向过程) ​ 面向对象:shell,c 面向对象:JAVA,Python,perl,C++ ​ bash:脚本解释器 编程能力: 脚本编程 变量:内存空间,命名的内存空间(可以回收) 内存:编址的存储
若与
2018/07/04
1.3K0
bash 脚本 learning
linux bash 脚本是个好东西,能用工具搞定的就尽量避免用手敲。这里记录下学习过程中的问题。
上山打老虎了
2022/06/14
4360
怎么保存退出vi编辑
保存命令 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并退出vi :wq! 强制保存文件,并退出vi q: 不保存文件,退出vi :q! 不保存文件,强制退出vi :e! 放弃所有修改,从上次保存文件开始再编辑
周小董
2019/03/25
7.3K0
bash脚本 while语法
基本语法(比较常见的两种形式): 只要特定条件为真,”while” 语句就会执行 while [ condition ] do command1 command2 command3 done 或者 while [ condition ]; do command1 command2 command3 done 说明:  行1,首先进行条件测试,如果传回值为0(条件测试为真),则进入循环,执行命令区域,否则 不进入循环,介绍while 命令  行3,执行命令区域,这些命令中,
joshua317
2018/04/16
8430
bash脚本 while语法
怎么退出vi编辑界面_centos保存退出vim
今天在虚拟机上练习如何自动挂载的时候,按照提示在命令行输入vi /etc/fstab,如下图:
全栈程序员站长
2022/11/11
7.3K0
怎么退出vi编辑界面_centos保存退出vim
Bash脚本编程(原创)
Bash,Unix shell的一種,在1987年由布萊恩·福克斯為了GNU計劃而编写。1989年釋出第一個正式版本,原先是計劃用在GNU作業系統上,但能运行于大多数类Unix系统的操作系统之上,包括Linux與Mac OS X v10.4都將它作為預設shell。它也被移植到Microsoft Windows上的Cygwin與MinGW,或是可以在MS-DOS上使用的DJGPP專案。在Novell NetWare與Andriod在上也有移植。1990年後,Chet Ramey成为了主要的维护者。為Bourne shell的後繼相容版本與開放原始碼版本,它的名稱來自Bourne shell(sh)的一个双关语(Bourne again / born again):Bourne-Again SHell。
用户2645267
2018/08/04
1.4K0
常用bash脚本功能
参考:https://stackoverflow.com/questions/3601515/how-to-check-if-a-variable-is-set-in-bash
YP小站
2021/11/26
8990
Linux笔记------bash脚本
<https://www.runoob.com/linux/linux-shell-basic-operators.html
来杯Sherry
2023/05/25
1.7K0
linux(centos) 保存退出vi编辑
保存命令 按ESC键 跳到命令模式,然后: :w   保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w!   强制保存,不推出vi :wq  保存文件并退出vi :wq! 强制保存文件,并退出vi q:  不保存文件,退出vi :q! 不保存文件,强制退出vi :e! 放弃所有修改,从上次保存文件开始再编辑
似水的流年
2019/12/11
15.6K0
20.15 exit退出整个脚本
exit退出整个脚本 exit直接结束退出整个脚本 可以定义退出的数值,可以用于确定脚本运行到什么地方的时候,结束 #!/bin/bash for i in `seq 1 5` do echo $i if [ $i -eq 3 ] then exit fi echo $i done echo aaaaaaa [root@hf-01 shell]# sh exit.sh 1 1 2 2 3 [root@hf-01 shell]#
运维小白
2022/01/06
5630
Linux vim退出命令(保存与不保存)「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130318.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/01
8.7K0
Bash脚本编程之数组
array=( "${array[@]}" "new element" )或array[${#array[*]}]="new element"
枇杷李子橙橘柚
2019/05/26
7040
vim编辑器,可以实现保存退出()_vim进入编辑模式如何保存并退出
Vim/ Vi模式 启动Vim编辑器时,处于正常模式。 在这种模式下,可以使用vim命令并浏览文件。
全栈程序员站长
2022/09/23
4.2K0
unix 的 bash shell 脚本
1. test01   test02 1 200    1 100 2 500    2 300 3 200    3 50 4 100    4 150 输出 200 100 100 500 300 200 300 50  150 100 150 -50 awk 减法数组 awk ‘ NR == FNR { a[NR]=$2 } NR != FNR { print a[FNR], $2,(a[FNR]-$2)} ' /root/test* 2. 123abc456 45
bear_fish
2018/09/20
1.5K0

相似问题

保存bash退出代码

12

bash脚本“退出代码126”出错

35

Bash退出代码状态脚本错误

23

进程运行后不会退出Bash脚本

11

docker运行bash脚本无法退出

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档