gpt4 book ai didi

linux - 如何在 Bash 中使用 '*' 通配符检查参数是否相等?

转载 作者:太空宇宙 更新时间:2023-11-04 11:48:54 26 4
gpt4 key购买 nike

<分区>

我是 bash 脚本的新手,我正在编写一个脚本来自动使新创建的 .sh 文件可执行。因此,我想检查 .sh 前面是否有提供的唯一参数,以确保文件名有效。

但是,当我运行 ./createExecutableScript.sh asd.sh 时,出现了 [: too many arguments 错误。

一开始我以为是$1没有包裹在"里导致的错误,所以加了"进去。

我也提到了这个问题( Linux Shell Script - String Comparison with wildcards ) 并在 " 之外添加了 *

#!/bin/bash

if [ "$#" -eq 1 ] && [ "$1" == *".sh" ]
then
echo "Creating file with name: $1"
else
echo "Invalid or missing filename!"
fi

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com