ZKX's LAB

新写的shell脚本找不到命令 为什么shell脚本里面的命令不生效

2021-04-28知识4

我要做一个终端登陆系统,要求去掉某些linux固有的shell命令,并增加一些自己写的命令,怎么搞? 你提到的需求都是些应用层次的,没有修改内核的必要,无非是限制权限等等。只需要自己去用root用户整理下文件设置下权限~“去掉某些linux固有的shell命令“,你直接把你不想用户执行的命令给弄到普通用户看不到而root可以看到的路径中去就好了,比如挪到/sbin或者/usr/sbin下,并且去掉普通用户的可执行权限和文件的s标志,而且禁止普通用户对sbin或者/usr/sbin目录的访问(防止拷贝)~“增加一些自己写的命令“,道理如上,你把你增加的命令放到普通用户的系统路径就可以了~PS:“怎样找到某个命令所对应的进程,即对应的可执行程序”(这个说法有点问题呢~),还是如上,在bash在执行一个命令时,首先判断是否是内建命令(这种命令是没有可执行文件的),或者是否存在于当前环境变量路径中(/bin或者/usr/bin或者/usr/local/bin或者/opt/bin等等),或者是否指定了路径。

VB做的程序找不到shell调用的命令如何让它不自动退出 On Error goto dealwitherrorshell\"ntbackupexit subdealwitherror:msgbox\"启动备份程序失败

有关于shell的命令,本人刚接触shell,主要是想知道他具体的命令 Shell基础:你可以通过打开Linux的terminal(终端)来执行Shell命令。Shell的种类有很多种,例如CSH,BourneShell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne againshell(bash)。想看看你的Shell是哪一种,执行下面的命令echoSHELL在Linux中,$符号代表一个shell变量。所有的shell都用这种方式使用变量。有一些shell变量在你的系统启动的时候就有了默认值。例如,$SHELL;LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。一个重要的地方是,你要注意文本的大小写。例如,ls,是DOS的dir命令的Linux版本。这个命令列出当前工作目录下的文件列表。如果你输入的是LS,你得到的只能是“找不到命令”的错误信息。另外在Linuxshell命令中一个重要的地方是,你可以将命令串起来。这是Unix/Linux从第一天开始就有的巧妙的特点。最简单的将命令连起来的办法就是使用“|”,我们称之为“pipe”。第一个命令的输出就是下一个命令的输入。Linux命令有自己的语法规则:基本的语法就像这样:command-optionfile例如:lsla。

随机阅读

qrcode
访问手机版