shell 變數做命令執行

2021-07-31 14:16:39 字數 478 閱讀 4775

user@ubuntu cmd $ ls && echo 1

a.txt

1user@ubuntu cmd $ bin="ls && echo 1"

user@ubuntu cmd $ $

ls: cannot access &&: no such file or directory

ls: cannot access echo: no such file or directory

ls: cannot access 1: no such file or directory

變數做命令執行時,shell自動將 『;』 、』&&』等 使用」進行了限制,命令無法直接展開執行。
user$@ubuntu cmd $ str=$(eval

$);echo

$a.txt 1

eval 命令將會首先掃瞄命令列進行所有的置換,然後再執行該命令。

BASH 以變數的形式執行shell命令

有時候需要執行組裝的命令或者外部 例如檔案 定義的命令,需將這些命令定義為乙個變數,然後執行。cmd ls l cmd但這種方式不適用於多個命令或者一些複雜的命令,例如cmd ls l a.log 2 1 cmd cmd cd ls l cmd會報如下錯誤 a.log存在 ls no such fi...

shell的執行以及變數

自定義變數 特殊變數 root note01 cat etc shells bin sh bin bash sbin nologin bin dash對於bash 與sh 的關係 root note01 bin ll grep bash rwxr xr x.1 root root 904872 oc...

Android執行shell命令

android執行shell命令 一 方法 執行乙個shell命令,並返回字串值 param cmd 命令名稱 引數組成的陣列 例如 param workdirectory 命令執行路徑 例如 system bin return 執行結果組成的字串 throws ioexception public...