相关疑难解决方法(0)

基于进程退出代码退出Shell脚本

我有一个执行许多命令的shell脚本.如果任何命令以非零退出代码退出,如何使shell脚本退出?

bash shell

372
推荐指数
8
解决办法
41万
查看次数

150
推荐指数
5
解决办法
15万
查看次数

用csh成语检查环境变量是否存在?

我有一些csh脚本,我需要在开始做之前检查某些环境变量是否已设置,所以我做了这样的事情:

if ! $?STATE then
    echo "Need to set STATE"
    exit 1
endif

if ! $?DEST then
    echo "Need to set DEST"
    exit 1
endif
Run Code Online (Sandbox Code Playgroud)

这是很多打字.是否有更优雅的习惯用于检查环境变量是否已经设置?

笔记:

  • 这个问题非常相似,但具体询问bash中的解决方案.
  • 我不是在寻找人们建议我远离csh因为它被诅咒,吓人或者打击更好.我特别感兴趣的是比我现在使用的更优雅的解决方案.

csh environment-variables

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

什么'$?' 在bash脚本中意味着什么?

可能重复:
"$?"在shell脚本中给出了什么?

$?bash脚本中的含义是什么?示例如下:

#!/bin/bash
# userlist.sh

PASSWORD_FILE=/etc/passwd
n=1           # User number

for name in $(awk 'BEGIN{FS=":"}{print $1}' < "$PASSWORD_FILE" )

do
  echo "USER #$n = $name"
  let "n += 1"
done

exit $?
Run Code Online (Sandbox Code Playgroud)

syntax bash

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

为什么在Perl中退出代码255而不是-1?

为什么当我将退出代码$ ?,在Perl中移位8时,当我期望它为-1时,我得到255?

perl exit

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