2015-08-28 102 views
0

我正在创建一个shell脚本,该脚本将始终从shell读取用户的当前命令。在Linux中获取当前命令

我目前使用的read命令,我不满意,因为它用于提示问题。例如:

[email protected]: ./script.sh 
Question here? 
answer - `read` command 

我希望在用户直接输入命令行命令(脚本通过/etc/profile.d/myapp.sh已经运行一次登录)要调用的我的脚本。

[email protected]: read the command here 
result will happen 

我的示例脚本myapp.sh

#!/bin/bash 
if [ "input" = "value"] 
then 
    do some actions 
fi 
+0

你知道'bash' shell的'source'和'eval'内建函数吗? –

+0

不...对于缺乏知识感到抱歉 – BLNK

+0

阅读http://www.tldp.org/LDP/abs/html/ –

回答

0

如果您明确定位猛砸,我会建议这些命令设置猛砸别名。

在用户的会话的开始,您的程序可以运行下面的命令来创建的bash别名:

alias command1="/your/path/script.sh command1" 
alias command2="/your/path/script.sh command2" 

然后例如当用户进入command1,将扩大并运行/your/path/script.sh command1代替。

+0

谢谢!我会尝试等待:) – BLNK

+0

@BLNK它有没有最终为你工作? –

+0

我把command1改成'sudo -s'我收到'-bash:alias:sudo not found'。我想要的是当用户输入一个sudo -s命令后续问题将继续 – BLNK