2015-08-28 73 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