linux 当运行这个程序我发生了一个错误作为ambigous重定向

pod7payv  于 2023-01-04  发布在  Linux
关注(0)|答案(1)|浏览(223)

这是下面的bash脚本

cat >> $file_name

我收到了这样的错误:
./l7.sh: line 12: $file_name: ambiguous redirect

以下是完整的代码

https://github.com/vats147/public/blob/main/l7.sh
为什么我得到这个错误?甚至我的语法是正确的.

ppcbkaq5

ppcbkaq51#

必须将$1赋值给参数file_name,该参数将作为输入参数传递给当前文件。

#! /bin/bash

echo -e " Enter file name : \c"
read file_name=$1
if [ -f $file_name ]
then
    if [ -w $file_name ]
    then
        echo " type some text data. to quit press enter "
        #cat > $file_name(single angular bracket use for overwritten)
        #cat >> $file_name(two angular bracket use for appending a text)
        cat >> $file_name
    else
        echo " file not have write permission"      
    fi
else
    echo "file not exist"
fi

这些是脚本的位置参数。
执行./script.sh Hello World将使

$0 = ./script.sh
$1 = Hello
$2 = World


如果执行./script.sh$0将给予输出./script.sh,但如果使用bash script.sh执行它,则将给出输出script.sh

相关问题