/bin/she中的shell和当前环境默认shell有什么区别
时间: 2023-03-29 12:03:08 浏览: 65
当前环境默认shell是指当前用户登录时使用的shell,而/bin/sh是一个符号链接,指向系统中默认的shell程序。它们的区别在于,当前环境默认shell可以被用户自行更改,而/bin/sh则是系统默认的shell程序,一般情况下不建议更改。
相关问题
shell脚本开头的#!/bin/sh 和#!/bin/ksh 会有什么区别
在shell脚本开头,#!后面的内容指定了脚本使用的解释器。#!/bin/sh表示使用Bourne shell,而#!/bin/ksh表示使用Korn shell。两者的区别在于Korn shell比Bourne shell更加强大,支持更多的特性和语法。因此,如果脚本需要使用Korn shell的特性,那么就应该使用#!/bin/ksh。否则,如果脚本只需要使用Bourne shell的特性,那么就可以使用#!/bin/sh。
举个例子,如果脚本需要使用Korn shell的数组特性,那么就应该使用#!/bin/ksh。如下所示:
```shell
#!/bin/ksh
my_array=(1 2 3 4 5)
echo ${my_array[2]} # 输出:3
```
如果脚本只需要使用Bourne shell的基本特性,那么就可以使用#!/bin/sh。如下所示:
```shell
#!/bin/sh
echo "Hello, world!" # 输出:Hello, world!
```
/bin/bash和/usr/bin/bash有什么区别
/bin/bash和/usr/bin/bash都是Bash Shell的可执行文件,但它们在文件系统中的位置不同。
/bin/bash是Bash Shell的默认安装路径,位于根目录下的bin目录中。这意味着所有用户都可以直接访问和使用该Shell。
/usr/bin/bash是Bash Shell的备用安装路径,位于/usr/bin目录中。这个目录通常包含系统管理员安装的其他可执行文件。
总体来说,两者在功能上没有区别,只是安装路径不同。在大多数情况下,使用/bin/bash是更常见和推荐的做法,因为它是默认的安装路径。