文本文件:
Annemie;014588529
Stefaan;011802367
Jan;032569874
Hans;015253694
尝试按姓名查找电话号码,但不显示任何内容
echo -n ""
read name
number=`grep '$name' numbers.txt | awk -F';' '{print $2}'`
echo "$number"
答案 0 :(得分:0)
单引号可避免变量扩展。
您正在echo -n ""
read name
number=$(awk -F';' -v name="$name" '$1 ~ name {print $2}' numbers.txt)
echo "$number"
内搜索字符串customerSelect()
。
试试这个:
<select name="customer" id="customer" />
甚至更好地减少管道(awk可以直接执行grep):
itemAdd()
答案 1 :(得分:0)
单引号阻止shell变量#!/bin/sh
read -p "Enter name: " name
number=$(grep -F "$name" numbers.txt | awk -F';' '{print $2}')
echo "$name => $number"
到expand。
试试这样:
-F
此外,您应该使用$(..)
进行固定字符串grepping,避免使用旧式反引号command substitution,而是使用-p
。如果您愿意,可以read
使用sh
提示符(在POSIX shell中,包括bash
/ {{1}})。