请教一条linux命令的意思
来源:百度知道 编辑:UC知道 时间:2024/07/04 19:22:06
#. 文件名
在.和文件名间有个空格,好像是执行这个文件的意思,那和 ./文件名 有什么区别?
是 #表示root用户
在.和文件名间有个空格,好像是执行这个文件的意思,那和 ./文件名 有什么区别?
是 #表示root用户
. 文件名 就是执行该文件,. 是命令,老旧shell 用这个,等如
bash 内建的 source 命令
./ 是在当前目录的意思, ./文件名 就是在当前目录下执行,但文件必需是可执行文件. 举个例比较易理解
User@User-PC ~
$ cat a
#! /bin/bash
echo "hello world"
User@User-PC ~
$ ls -l a
-rw-r--r-- 1 User None 33 2009-10-17 22:24 a
User@User-PC ~
这文件不是可执行文件,我门用 . 或 source 来执行
User@User-PC ~
$ . a
hello world
User@User-PC ~
$ source a
hello world
User@User-PC ~
$
现在用 ./文件名
User@User-PC ~
$ pwd
/home/User
当前是 /home/User
User@User-PC ~
$ ./a
bash: ./a: Permission denied
User@User-PC ~
$
文件没执行权闲,执行不了
User@User-PC ~
$ chmod +x a
User@User-PC ~
$ ls -l a
-rwxr-xr-x 1 User None 33 2009-10-17 22:24 a*
User@User-PC ~
$ ./a
hello world
User@User-PC ~
$
改变文件属性变成可执行才生