use*_*411 0 bash shell bash-function
我是unix shell脚本的新手.我试图用参数执行示例函数,但shell不会将第一个参数识别为第一个参数而是识别为第二个参数.
#!/bin/bash
func(){
echo "func"
if [ -z $1 ]
then echo "$1 received"
else echo "not received"
fi
}
func "hello"
Run Code Online (Sandbox Code Playgroud)
没有收到输出功能
应该给予的地方
func
hello received
Run Code Online (Sandbox Code Playgroud)
你的测试应该是:
if [ -n "$1" ]
Run Code Online (Sandbox Code Playgroud)
代替 if [ -z $1 ]
请注意,您最好在$ 1附近添加报价; 否则,当你不传递任何参数时,它将无法工作.