type命令能很好的区分一个命令的分类属性, 比如cd, read, printf, 包括type命令自身皆为内嵌命令, 而ls, cat等则为外部命令. 由于PATH被设置为空, 导致shell无法查到该外部命令所在的路径, 自然不能执行, 但是该命令的二进制文件依旧存在, 因此可以指定其绝对路径来执行, 就可以. 去除误设置的环境变量PATH, 同...
① PATH:系统查找命令的路径,系统命令并没有写路径就可执行,如ls,是由于PATH环境变量的作用。因此自己写的脚本拷贝到PATH指定的路径中,无需写路径即可直接执行。 例: [root@localhost ~]#env|grepPATH PATH=/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/...
pushd/path/to/directory 上面的示例中,pushd /path/to/directory命令将将指定的目录/path/to/directory压入目录堆栈,并切换到该目录。 pwd pwd命令用于显示当前工作目录的路径。 示例: 代码语言:shell 复制 pwd 上面的示例中,pwd命令将显示当前工作目录的路径。 read read命令用于从标准输入读取一行文本并将其赋值...
直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
关键字:HOME、PATH、TERM、UID、PWD、echo、exec、read、expr、test、exit、who、tee 变量名=值 # 注意 赋值语句两边不能有空格等号右边若有空格的话,需要加上引号(单引号或双引号都是可以的) name=tongye age=23 address="JiangSu Nanjing" money='10$' ...
注释,显然是一个常识,不过这里还是要再强调一下,这个在 shell 脚本里尤为重要。因为很多单行的 shell 命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其的头大。 注释的意义不仅在于解释用途,而在于告诉我们注意事项,就像是一个 README。 具体的来说,对于 shell 脚本,注释一般包括下面几个部分: ...
1.read命令用于从标准输入读取一行并赋值给一个或多个变量,如read LINE会从标准输入读取一行并将整行内容赋值给LINE变量,read A B则会从标准输入读入一行并将这行的第1、2列分别赋值给A、B两个变量(分割符默认为空格或tab,可给IFS赋值来更改分割符) 2.末尾注释掉的echo "${LINE_NO}"若执行会输出0,原因是...
PATH:系统环境变量 PATH TERM:当前终端 UID:当前用户 ID PWD:当前工作目录,绝对路径 还是看例子: 运行结果: shell 语句 1. if 语句 这个跟高级语言的 if - else - if 类似,只是格式有些不同而已,也来看个例子吧: 2. for 循环 这是一个 for 循环基本使用例子,挺简单的,有点类似 Python: ...
readonlymyUrl myUrl="https://www.runoob.com" 运行脚本,结果如下: /bin/sh:NAME:Thisvariableisread only. 删除变量 使用unset 命令可以删除变量。语法: unset variable_name 变量被删除后不能再次使用。unset 命令不能删除只读变量。 实例 实例
# while read line ; do echo $line; done <<< "111 222 333" 4. 关于 "< <" 应该说 "< <" 并不是一个单独的输入重定向符号,两个< 至少有一个空格,它是两个符号的组合: 左边< 代表左边接受从右边输入,右边 <(command) 代表右边shell(子shell)命令的输出,将输出输出到左边。