其实是老师后边的ppt写错了,#!/bin/bash这个bash是小写,不是Bash
你的字符串最后一个”被其前面的 \ 转义符给转义掉了,而进入echo的换行打印模式。
可以直接按ctrl+c退出,或者再输入一个”回车。
不用的
不是,bash + 文件名 或者当文件有执行权限(chmod +x 文件名)时,输入文件的相对路径或者绝对路径直接执行
+1~
控制字符放在后面的,加上一个空格才能起效
"1;31m"是分号不是冒号(注意:必须是英文状态下的分号)
注意大小写
漂亮警告
31m 红色 你给个代码看一下比较好解决 老师的代码没问题的
我用的suse12练习,命令行必须不加-e就可以输出,但是bash下又必须加-e才能输出
赋予文件可执行的权限:sudo chmod 755 XXX
直接写文件名相当于执行系统命令,linux看来你是要执行一个叫hello.sh的命令,没这个命令,所以不能执行。前面加上./等于写了绝对路径,那么就告诉了系统我要执行的是一个.sh文件。
chmod 哥们 你写错了
你退出插入模式了,按insert进入编辑状态就好了
linux系统本身没有中文输入,所以即便用Xshell也输入不了中文
执行 ls --color=auto可以吗?
表示那个文件是一个脚本
应该在根目录下vi
少了 -e
没有进入输入模式 要按英文键盘字母i 表示进入插入模型
按esc退出插入模式,:wq是保存退出
直接 echo aa! 不带引号
输出的文字变粗,但是还是黑色的,所以应该是你用的工具没有打开显示颜色的功能
这个应该是和字符串的处理有关。
在学习C语言的时候就知道对于输入字符串,会自动在末尾添加‘\0’,表示字符串的结束。
刚才测试了以下,如果‘\b’处于字符串的末尾就不能删除前一个字符正好符合这个逻辑。
echo -e "\e[1;33m 嫁人就要嫁凤姐 \e[0m" 1后面多个m了,你重新看看
看图片啊
#!/bin/sh意思是指定用sh来执行脚本,此时./shiming.sh 就会用sh来执行。之前你用bash hello.sh可以执行,是因为你显式的声明了用bash 来执行