linuxsource命令找不到,linux为什么找不到命令

http://www.itjxue.com  2023-01-12 22:57  来源:未知  点击次数: 

linux中source这个命令放在那个文件夹下?

source是/bin/bash的内建命令,不是linux命令所以在PATH里面是找不到的。

Linux中source命令的使用方式

source 命令 是一个内置的 shell 命令 ,用于从当前shell会话中的文件读取和执行命令。source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个 脚本 ,将会在当前shell中运行execute命令。

source命令可用于:

刷新当前的shell环境

在当前环境使用source执行Shell 脚本

从脚本中导入环境中一个Shell函数

从另一个Shell脚本中读取变量

source命令的语法

source命令它需要一个文件,如果提供了参数,那么将用作传递脚本的位置参数。

source FILENAME [ARGUMENTS]

也可以使用.替代source命令:

. FILENAME [ARGUMENTS]

如何使用source命令

1. 刷新当前的shell环境

可以在当前的shell环境中定义一个别名。为ls -al定义一个别名为ll:

[root@localhost ~]# echo "alias ll='ls -al'" ~/.bashrc

在~/.bashrc文件中定义完别名,可以使用source命令刷新当前shell环境:

[root@localhost ~]# source ~/.bashrc

现在可以使用ll别名列出当前目录里所有文件了,包括隐藏文件。

2. 在当前环境使用source执行Shell脚本

Shell脚本不知道你在当前Shell环境中定义的变量。source命令可用于在当前会话中执行你的Shell脚本。

下面在定义一个变量:

[root@localhost ~]# website=. linux probe.com

创建一个脚本:

[root@localhost ~]# vim web.sh

#!/bin/bash

echo $website

使用source在当前shell会话中执行它:

[root@localhost ~]# source web.sh

当使用sh运行脚本时,找不到环境中定义的变量:

3. 从脚本中导入环境中一个Shell函数

首先创建一个脚本,定义一个函数:

[root@localhost ~]# vim func.sh

#!/bin/bash

foo(){

? echo "test function!"

}

要在当前的shell会话中导入上述脚本的功能,使用下面命令:

[root@localhost ~]# source func.sh

下面在终端中执行以下func.sh脚本中的foo函数试试:

[root@localhost ~]# foo

test function!

source完脚本之后,可以看到在当前回话的终端中可以执行脚本里面的函数。

4. 从另一个Shell脚本中读取变量

首先创建带有一些变量的shell脚本,请输入:

[root@localhost ~]# vim var.sh

#!/bin/bash

a=1

b=2

c=3

再创建一个脚本,该脚本读取上一个脚本var.sh中的变量:

[root@localhost ~]# vim read.sh

#!/bin/bash

source ~/var.sh

echo $a

echo $b

echo $c

在脚本中首先使用source将var.sh中的变量到处到当前回话,然后echo显示变量值。下面执行read.sh看一下:

5. 读取并执行命令

source命令可以从文件读取和执行命令。下面的一个文本文件中带有两个命令,使用source命令运行该文件,看看是否会执行里面的命令。

下面创建一个文件cmd.txt,保存两个命令:

[root@localhost ~]# cat cmd.txt

ip ad

date

下面使用source执行这个文件:

[root@localhost ~]# source cmd.txt

总结

source命令在当前shell中执行脚本,而exec命令在新的shell中运行。

Linux 下执行 source /etc/profile后提示 -bash: rt: command not found 如何解决?

Linux 下执行 source /etc/profile后提示 -bash: rt: command not found是设置错误造成的,解决方法为:

1、安装完oracle数据库后发现oracle用户下无法执行普通命令了,连ls也无法使用。

2、在这个文件中配置的时候少了一个$PATH参数。

3、把参数修改完成后再使用命令发现就可以 正常使用了。不过这种情况是在安装了oracle数据库后配置文件出现的问题。

4、在命令行中执行 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 命令。

5、在文件的底部添加上 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin? 命令,这样在系统即使是重启或者是切换用户都可以正常使用命令。

linux下提示命令找不到:-bash:command not found

Linux下输入某些命令时会提示:bash:command not found。

首先,查看$PATH中是否包含了这些命令。

$PATH:决定了shell到哪些目录中去寻找命令或程序,PATH值是一系列的目录。当运行程序时,linux到这些目录下搜索进行编译链接。

格式:

PATH = $PATH:PATH1:PATH2:PATH3:...:PATH N

可以将自己指定的路径加到PATH中,中间用冒号":"隔开。环境变量更改后,会在用户下次登录的时候生效;若想立即生效,则需要执行:

1 $ source .bash_profile

完成之后可以通过 echo echo PATH查看当前的搜索路径。这样定制之后,可以避免频繁的启动位于shell搜索路径之外的程序。

方法二: echo echo PATH

1 [root@localhost /]# echo $PATH

2 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

3 [root@localhost /]#

添加$PATH环境变量:

[root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH

再次查看:

1 [root@localhost u-boot-sh4]# echo $PATH

2 /opt/STM/STLinux-2.3/devkit/sh4/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

则说明添加PATH成功。

上述方法添加PATH 在终端关闭后会消失。建议通过编辑/etc/profile 修改PATH,也可修改/home目录下的 .bashrc

1 export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

保存后,退出,执行:

1 [root@localhost etc]# source /etc/profile

不报错就成功。

$PATH下目录简介

./bin:

bin为binary的简写主要放置一些系统的必备执行档案。如:cat,cp, chmod df, dmesg, gzip, kill, ls, mkdir, more, mount, rm, su, tar 等。

/usr/bin:

主要放置一些应用软体工具的必备执行档例。如:c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome 、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb 、wget等。

/sbin:

主要放置一些系统管理的必备程式例。如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。

/usr/sbin:

放置一些网路管理的必备程式例。如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。

(责任编辑:IT教学网)

更多