linux shell的一个问题关于bash

我的文件起名为A,内容如下#!/bin/bashecho5但是在运行时如果在shell输入A,提示bash:A:commandnotfound而必须是输入bashA才或者... 我的文件起名为A,内容如下

#! /bin/bash
echo 5

但是在运行时如果在shell输入A,提示bash: A: command not found
而必须是输入bash A才或者./A才能运行,这是怎么回事啊?

谢谢大家了
展开
 我来答
polygons
2012-03-08 · TA获得超过142个赞
知道答主
回答量:206
采纳率:0%
帮助的人:130万
展开全部
1.在bash中如果想执行一个可执行文件必须明确写出这个文件的路径(绝对或者相对的都可以,例如/bin/ls 或者你写的./A。)

2.如果没写路径只写了一个文件名,bash则会尝试在一些特殊的目录下搜索有没有你所要执行的文件(这些特殊的目录被保存在环境变量PATH中 路径之间用:分隔)

你直接在提示符下输入A提示command not found是因为你当前所在的目录并不在变量PATH中所以报错command not found
百度网友a1374f9ac
2012-03-08 · TA获得超过125个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:227万
展开全部
在环境变量中,没有提供根目录的文件运行。可以同fy82220所说的去PATH查找。一般这个文件在/etc目录下,根据系统版本不同,文件也不完全相同,我的是/etc/profile。
如果想直接输入A运行这个文件,则可以先用cd命令跳转工作目录到根目录/下:cd /,这样就可以直接输入A运行了。一般的,可执行的文件都放在/bin目录和/sbin目录,还有/usr里的目录等。可根据自己的需求设置变量。添加方法是在已有的变量后面加:/目录。如在PATH=.:$HOME/bin:/usr/local
后面添加自定义的目录/mnt/mmc,就这样:
PATH=.:$HOME/bin:/usr/local:/mnt/mmc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wfc1102
2012-03-08 · TA获得超过495个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:441万
展开全部
大家说的很对,这里补充下如何把可执行程序A所在的路径(假定为/home/hhh/script)加入PATH这个环境变量中去。
首先,找到环境变量的设置文件。
在你的个人主目录中有一个 ".bashrc"的隐藏文件,就是它了。
相应的操作:(1)cd ~ 回到个人主目录;(2)ls -a 可以看到隐藏文件.bashrc;(3)vim .bashrc 打开该文件进行编辑。
其次,把 路径添加到PATH中。
在文档末尾键入export PATH="/home/hhh/script:"$PATH 注意这里的引号不是必需的,但是冒号则必须有
保存并退出该文件。
最后,使得改动生效。
source .bashrc
这样你就可以在任何一个目录下都可以在命令行键入A,来运行A这个可执行文件了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
myqq381685880
2012-03-07 · 超过31用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:86.8万
展开全部
$PATH里如果有你这个A脚本的路径 那么直接就可以执行了,如果没有就得 sh A 或者./A 指定当前目录执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
健忘的猫
2012-03-07 · TA获得超过189个赞
知道答主
回答量:113
采纳率:0%
帮助的人:70.6万
展开全部
echo $PATH
他会去这个环境变量里找,找不到就不找了
./可以执行是因为你指定了A在当前目录下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式