这是我的脚本。它只需要 4 个位置参数。输出应该是所有位置参数、每个参数的字符数以及每个参数的第一个字符。
#!/bin/bash
rm -r param.out
declare -i cont
cont=$#
if [ $cont -eq 4 ]
then
echo "Positional parameters" >> param.out
echo $* >> param.out
echo "Number of characters of each positional parameter" >> param.out
echo -n $1 | wc -c >> param.out
echo -n $2 | wc -c >> param.out
echo -n $3 | wc -c >> param.out
echo -n $4 | wc -c >> param.out
echo "First character of each parameter" >> param.out
echo $1 | head -c 1 >> param.out
echo $2 | head -c 1 >> param.out
echo $3 | head -c 1 >> param.out
echo $4 | head -c 1 >> param.out
else
echo "Error"
exit
fi
输入./file 12 23 34 456
得到的文件如下:
Positional parameters
12 23 34 456
Number of characters of each positional parameter
2
2
2
3
First character of each parameter
1234
理想的情况是获得第一个输出(12 23 34 456)
PD。我知道这可以使用for
/while
来避免重复 echo 但我正在学习 bash :/