#!/bin/ksh
echo -n "enter the 1 to convert lower to upper or 2 convert upper to lower"
read n
echo -in_str "Enter the string here"
read in_str
echo $n
echo $in_str
if [ $n -eq 1 ] then
$ echo $in_str| awk '{print toupper($0)}'
elif [ -n -eq 2 ] then
$ echo $in_str| awk '{print tolower($0)}'
else
echo "please select the correct choice"
fi
获取错误:其他意外我无法运行上述代码
答案 0 :(得分:1)
此:
if [ $n -eq 1 ] then
需要这样:
if [ $n -eq 1 ]; then
或者这个:
if [ $n -eq 1 ]
then
答案 1 :(得分:1)
您需要在then
之前使用分号。并且您有额外的$
个符号。我想你想要这样的东西
if [ $n -eq 1 ]; then
echo $in_str| awk '{print toupper($0)}'
elif [ $n -eq 2 ]; then
echo $in_str| awk '{print tolower($0)}'
else
echo "please select the correct choice"
fi
至少它似乎在这里工作。
答案 2 :(得分:0)
$ echo $in_str| awk '{print toupper($0)}'
???
我认为您不希望该行前面的$
字符(或其他echo
行)。
此外,如果您希望then
与if
位于同一行,则应为:
if [ $n -eq 1 ] ; then