String Bash脚本比较if语句中的字符串和变量
我试图让一个变量与字符串进行比较,然后如果它与字符串进行比较,则执行一些操作,然后继续执行下一个操作,但是当我在调试模式下查看它时,该变量显示为String Bash脚本比较if语句中的字符串和变量,string,bash,variables,comparison,String,Bash,Variables,Comparison,我试图让一个变量与字符串进行比较,然后如果它与字符串进行比较,则执行一些操作,然后继续执行下一个操作,但是当我在调试模式下查看它时,该变量显示为',其中没有任何内容 #!/bin/bash echo -e "Enter the name of the document you wish to edit:\c" read dname CTYPE= file "$dname" | cut -d\ -f2 echo $CTYPE VAR="ASCII" VAR2="cannot" if [ "$CT
'
,其中没有任何内容
#!/bin/bash
echo -e "Enter the name of the document you wish to edit:\c"
read dname
CTYPE= file "$dname" | cut -d\ -f2
echo $CTYPE
VAR="ASCII"
VAR2="cannot"
if [ "$CTYPE" == "$VAR" ]
then
vi $dname
fi
我得到这个结果:
+ VAR=ASCII
+ VAR2=cannot
+ '[' '' == ASCII ']'
其中,”
是空的,即使我对其进行了回音,并看到它不是空的
我也尝试过其他方法,得到了相同或类似的非工作结果:
CTYPE= file "$dname" | cut -d\ -f2
if [ "$CTYPE" == "$VAR" ]
ctype= file "$dname" | cut -d\ -f2
if [ $ctype = "ASCII" ]
ctype= file "$dname" | cut -d\ -f2
if [ "$ctype" = "ASCII" ]
ctype= file "$dname" | cut -d\ -f2
if [ "$ctype" == "ASCII" ]
我不知道我错过了什么,我读了太多的帖子,我不知道从这里该去哪里。谢谢大家! 您的CTYPE有一个错误:
CTYPE=$(file "$dname" | cut -d\ -f2)
=
和作业之间不能有任何空格。此外,您需要从文件“$dname”| cut-d \-f2
返回,因此必须将其包含在$()
中或使用反勾号。您的CTYPE有一个错误:
CTYPE=$(file "$dname" | cut -d\ -f2)
=
和作业之间不能有任何空格。此外,您需要从文件“$dname”| cut-d \-f2
返回,因此必须将其包含在$()
中或使用反勾号。您的CTYPE有一个错误:
CTYPE=$(file "$dname" | cut -d\ -f2)
=
和作业之间不能有任何空格。此外,您需要从文件“$dname”| cut-d \-f2
返回,因此必须将其包含在$()
中或使用反勾号。您的CTYPE有一个错误:
CTYPE=$(file "$dname" | cut -d\ -f2)
=
和作业之间不能有任何空格。此外,您需要从文件“$dname”| cut-d \-f2
返回,因此必须将其包含在$()
中或使用反勾号。运行此命令时:
d= date
bash执行以下操作:在date
命令期间,仅设置环境变量d
(值为空字符串)。这是密密麻麻的记录
正如所告诉您的,要捕获命令的输出,您需要
d=$(date)
运行此命令时:
d= date
bash执行以下操作:在date
命令期间,仅设置环境变量d
(值为空字符串)。这是密密麻麻的记录
正如所告诉您的,要捕获命令的输出,您需要
d=$(date)
运行此命令时:
d= date
bash执行以下操作:在date
命令期间,仅设置环境变量d
(值为空字符串)。这是密密麻麻的记录
正如所告诉您的,要捕获命令的输出,您需要
d=$(date)
运行此命令时:
d= date
bash执行以下操作:在date
命令期间,仅设置环境变量d
(值为空字符串)。这是密密麻麻的记录
正如所告诉您的,要捕获命令的输出,您需要
d=$(date)