Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了debian – 为什么我的.bashrc脚本执行乱序/不等待步骤完成?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我需要教师在偏远地区填写电子注册表,他们需要能够快速完成并且必须尽量少做.为了实现这一点,我已经设置了上网本,其中包含“vanilla”Debian 6安装,除了rdesktop之外什么也没有.上网本自动登录(通过/ etc / inittab)然后我使用.profile用户主目录中的.bashrc文件重新启动网络(修复dhcp错误),启动窗口服务器的startx,然后启动rdesktop进入一个
我需要教师在偏远地区填写电子注册表,他们需要能够快速完成并且必须尽量少做.为了实现这一点,我已经设置了上网本,其中包含“vanilla”Debian 6安装,除了rdesktop之外什么也没有.上网本自动登录(通过/ etc / inittab)然后我使用.profile用户主目录中的.bashrc文件重新启动网络(修复dhcp错误),启动窗口服务器的startx,然后启动rdesktop进入一个终端服务器来取得注册.这很有效,老师会在不到30秒的时间内收到他们的记录.

我想要发生的是,当他们关闭rdesktop(退出终端服务器)时,笔记本电脑关闭,但到目前为止失败了.我最初尝试将shutdown命令添加到脚本的下一行,但由于某些无法解释的原因,脚本似乎无序运行,并且机器在rdesktop运行之前关闭.我认为这是因为rdesktop是“forking”.有没有办法在脚本运行的其余部分之前等待rdesktop退出

我已经尝试过了:
关机前睡觉
在关机前等待

我知道如何在visual basic / vbscript / batch文件中执行此操作,但我对linux很新,我开始认为我错过了显而易见的或者是愚蠢的!

我的文件如下:

/home/user/.profile:
sudo dhclient
startx -- :1

/home/user/.bashrc:
rdesktop -u "" -k en-gb -f servername

(缺少用户名是故意的,因为它导致终端服务器不预先填写用于登录用户名,用于上网本的linux用户名)

解决方法

实际上可能发生的是.bashrc的运行速度比您想象的要多.

如果它运行且没有X屏幕或DISPLAY变量,则rdesktop将失败,然后关闭将运行. @ dimmer的解决方案应该处理,尽管有一种更清洁的方式.

如果在startx命令之后放置shutdown命令并将rdesktop命令放在用户的.xinitrc中,它应该可以工作.这可能更清洁,更健壮.试试看.

大佬总结

以上是大佬教程为你收集整理的debian – 为什么我的.bashrc脚本执行乱序/不等待步骤完成?全部内容,希望文章能够帮你解决debian – 为什么我的.bashrc脚本执行乱序/不等待步骤完成?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。