我想看看shell脚本的输入参数是否包含null。
我有以下脚本(
test-print-null.sh
):
#!/bin/sh
printf "All params: $@\n"
printf "Value at pos 0: $0\n"
printf "Value at pos 1: $1\n"
printf "Value at pos 2: $2\n"
[[ -z "$1" ]] && printf "Pos 1 is null\n"
[[ -z "$2" ]] && printf "Pos 2 is null\n"
for var in "$@"
do
${var:+false} [ -n "${var+1}" ] && printf "Params is null!\n" && for param in "$@"; do printf "Params: %s \n" "$param" ; done;
done;
然后我运行脚本
./test-print-null.sh "hello" ""
这告诉我pos2是空的。但是,我想在字符串hello中嵌入一个空字符并检查一下。我试过了
./test-print-null.sh "hel\0lo" ""
这并不像预期的那样工作。