【发布时间】:2015-07-30 11:26:22
【问题描述】:
我想为交互式和批处理编写一个脚本。如果未提供参数,脚本将要求用户输入。
与here 不同,如果变量已经由参数定义,用户不应该被打扰。
使用参数扩展我试过这个:
${FILE="$( echo "Please provide the file:" >&2 ; read a; echo $a )"}
...但我总是收到command not found 错误。
有什么建议吗?
【问题讨论】:
-
试试下面的脚本。 echo "输入你的名字" ;读取名称; if [ ${#name} -eq 0 ] 然后 echo -e "\nName: Horst" else echo -e "\nName: $name" fi
-
我自己回答了这个问题:
FILE=${FILE="$( echo "Please provide the file:" >&2 ; read a; echo $a )"}这是某种双重假设,但它有效! -
试试这个: echo ${FILE="$( echo "请提供文件:" >&2 ; read a; echo $a )"}
-
停止在 cmets 中回答问题。
标签: bash shell variable-expansion