#!/bin/bash
$myval=/home
ls $mval <- unexpected misspelling由于没有定义$mval,是否有方法停止ls命令的执行?
注意不能检查是否存在,因为它是一个错误。我正在寻找更多的财产,可以设置。
发布于 2020-09-18 17:51:34
您可以使用set -u选项来完成此操作,如果您试图展开一个未设置变量,该选项将中止。但是,请注意,$myval=/home是无效的语法,不会设置变量。你需要放下$。
#!/bin/bash
set -u
myval=/home
ls "$mval"在执行参数展开时,-u将未设置的变量和特殊参数“@”或“*”以外的参数视为错误。一个错误消息将被写入标准错误,一个非交互的shell将退出.
https://unix.stackexchange.com/questions/610109
复制相似问题