調用,你會發現一個簡單的代碼。 如果讀輸入是Y ,我正在調用函數輸入,但輸入函數中的讀命令從不執行。無法讀取輸入,而從下面的函數
#!/bin/bash
input() {
read -p "Press any key to continue..." # read input (this part never executed)
}
mg() # prompt user for y=true, n=false
{
[ $FORCE ] && echo>&2 "$* (forced)" && return
while read<&2 -p "$* (Y/N)? [Y] " YN
do
[ -z "$YN" -o "$YN" = Y ] && return
[ "$YN" = N ] && return 1
done
err "failed to read from YN $*"
}
if mg "Enter Input?"
then in="yes" | input # call function input if mg return Y
else in="no"
fi
嘗試用「bash的-x」執行,看看發生了什麼事情。 –
sudocode
在if中使用管道'|'的任何具體原因? – RedBaron