linux - shell 脚本中的返回值竞争条件

标签 linux bash shell sh race-condition

在 shell 脚本中使用 wget 并获取其返回值。
示例:

wget www.google.com   
if [ $? = 0 ]  
then  
  echo "success"  
else  
  echo "fail"  
fi

Linux 运行大量 shell 脚本,包括上面的一个。假设在shell脚本中执行wget后,操作系统将控制权交给其他一些shell脚本,当再次开始执行上面的shell脚本时,那么$?返回值不会是wget的返回值。

有什么方法可以避免 Linux 中的 shell 脚本返回值竞争条件吗?

问候,
苏克迪普·辛格

最佳答案

这里不存在竞争条件,因为每个脚本都在不同的子 shell 中运行,并且子 shell 内的变量/环境不会被另一个正在运行的子 shell 进程覆盖。

关于linux - shell 脚本中的返回值竞争条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22186937/

相关文章:

linux - 当用户在 linux/unix 中键入 size 命令时,结果是什么意思?

python - 按比例将图像裁剪到最大的中心部分

linux - <() 在 Bash 中做什么?

linux - 将 AWK 输出传递给 BASH 变量的问题

json - 在已使用引号的 sudo 封装的 sed 命令上使用引号

linux - curl 命令不通过 bash 中的 shell 脚本执行

c - 如何在大量递归时允许更多内存并避免堆栈溢出?

sql - 将公共(public)列上长度不等的两个文件与 linux 命令行进行多次匹配

bash - 捕获 docker 信号并停止 bash 中的进程不起作用

bash - 将 Shell 中文件名或目录中每个单词的首字母大写