首先这个属于Linux中的$PS1的变量,你可以通过 echo $PS1查看你当前的变量值.
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、濉溪网络推广、小程序开发、濉溪网络营销、濉溪企业策划、濉溪品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供濉溪建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
默认的PS1变量值是 [\u@\h \W]\$,每个参数的含义
"root":表示当前的登录的用户
"@":可以理解为是一个分隔符号
"linux":应该是你的主机名
"~":表示你当前所在的目录
"#":表示你当前登录用户的身份是root超级用户
下面一些常见的参数解释:
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
此时一般原因就是你shell脚本在编写时的系统跟你的执行脚本的系统不一致。
首先用vi命令打开文件。在vi命令模式中使用setff命令。修改文件format为unix。然后wq保存退出,重新执行脚本就正常了。
xshell是一种连接虚拟机的软件,可以与虚拟机同步。linux操作系统是一款在服务器上广泛应用的操作系统,虽然起初并不适合普通大众,而且使用起来没有Windows操作系统方便。
当在Linux系统下执行本来存在的shell脚本文件,但是在执行时就是提示你文件不存在。
此时一般原因就是你shell脚本在编写时的系统跟你的执行脚本的系统不一致,比如你在window系统编写的脚本,当拷贝到Linux系统时就会遇见此问题。原因是在windows下编辑的.sh文件的格式为dos格式,而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。另外就是当你在github上使用windows系统下载源文件中包含shell脚本文件 时,当你解压并拷贝到Linux系统执行时,也可能发生此问题。
解决办法:
我们可以通过vi编辑器来查看文件的format格式。步骤如下:
1.首先用vi命令打开文件
[root@localhost test]# vi test.sh
2.在vi命令模式中使用 :set ff 命令
可以看到文件的格式为
fileformat=dos
3.修改文件format为unix
使用vi/vim修改文件format
命令::set ff=unix
或者::set fileformat=unix
然后:wq保存退出,重新执行脚本就正常了
set ff=unix : 告诉 vi 编辑器,使用unix换行符
老式的电传打字机使用两个字符来代表换行。一个字符把滑动架移回首位 (称为回车, CR),另一个字符把纸上移一行 (称为换行, LF)。
当计算机问世以后,人们对换行的处理没有达成一致意见。
UNIX 开发者决定用 LF 一个字符来表示行尾。
Apple 开发者规定了用 CR 。
开发 MS-DOS (Windows)开发者则决定沿用CRLF。
这就是说,把一个文件从一种系统移到另一种系统,就有换行符的麻烦。如:用 vi 来尝试编辑一个采用 MS-DOS 格式的文件,你将会发现每一行的末尾有个 ^M 字符。(^M 就是 CR)。
set ff=unix ,就是告诉 vi 编辑器,使用unix换行符
set ff=dos ,就是告诉 vi 编辑器,使用dos换行符