在bash commandline中附上双引号的字符串cmd

2022-10-14 22:23:59标签linuxbashshell
提问

我是一个初学者。我遇到这样的问题: 当我在bash命令行中键入上面的类型时,没有任何结果,没有结果msg。 我在许多网站上搜索了两次bash语法。所有这些材料都有类似的解释如下: https://www。gnu。org/software/bash/bash/manual/html_node/double quotes。html 举个例子: 我没有找到类似“回声论证”的东西。此外,我发现bash命令行和bash脚本之间有一个奇怪的区别。 如果我在命令行中输入一个非现有命令: 没有什么事发生。但是如果我在bash脚本中输入它: 执行这个脚本时,msg将被抛出: 当他们封闭整个命令时,有人能帮忙给出一个详细的解释吗? 为什么命令行没有输出? 为什么命令行和脚本之间有区别? 如果输入一个命令foo,shell搜索在路径变量中列出的目录,直到它找到这个名字的命令。如果没有一个,您就没有发现错误消息命令。 如果输入一个包含至少一个斜杠的命令。/ foo / foo / bar - shell不搜索路径,但假设您已经进入了命令的正确路径。如果不存在,则会得到错误消息,没有这样的文件或目录。 在你的情况下 在你的路径上搜索一个名为“cd家”的文件,但没有这个名字的文件,你得到的命令没有找到。如果进入 shell bypass路径搜索并假设存在一个名为cd(即3字母cdspace)的目录,在当前目录中,下面是一个名为home with x-bit set的文件。在您的系统上没有这样的文件(也没有这样的目录),你会得到错误消息,没有这样的文件或目录。 如果你在尝试,你可以尝试以下: 这应该会打印你好陌生人。注意,在赋给mydir的任务中,cd和关闭引号之间必须有一个空格。 双引号意味着它是一个字符串。你可以做一些类似的事情: 在命令行或shell中。有时当人们把东西放在引号里。你应该用你自己的变量(删除引号)来代替引号,有时人们会在整个命令周围放引号,以显示你应该输入什么。对于您的“make -p”示例,只需在没有引号的情况下输入它,它应该在命令行和脚本中工作。

   $ "make -p"  

echo "argument"  

$ "holy shit"
$ "look that"

#!/bin/bash  
"holy shit"  
"look that"  

$ ./myshell   
./myshell: line 2: holy shit: command not found  
./myshell: line 3: look that: command not found

回答

 "cd home"

"cd /home"

mydir="cd "
mkdir "$mydir"
echo "echo Hello Stranger" >"$mydir/home"
chmod +x "$mydir/home"
"cd /home"

回答

echo "Hello everybody"

▼版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说cuoshuo.com——程序员的报错记录

部分内容根据CC版权协议转载,如果您希望取消转载请发送邮件到cuoshuo8@163.com

辽ICP备19011660号-5