有時候需要執行組裝的命令或者外部(例如檔案)定義的命令,需將這些命令定義為乙個變數,然後執行。
cmd="ls -l"但這種方式不適用於多個命令或者一些複雜的命令,例如$cmd
cmd="ls -l > a.log 2>&1"會報如下錯誤(a.log存在)$cmd
cmd="cd; ls -l"
$cmd
ls: >: no such file or directoryls: 2>&1: no such file or directory
-rw-r--r-- 1 v504613 acsot 641 feb 6 16:36 a.log
./a.sh: line 10: cd;: command not found
cmd="ls -l"eval $cmd
cmd="ls -l > a.log 2>&1"
eval $cmd
cmd="cd; ls -l"
eval $cmd
以root使用者執行jenkins中shell命令
以centos系統為例,記錄下修改jenkins以root使用者執行的方法。修改jenkins配置檔案 開啟配置檔案 vim etc sysconfig jenkins 修改 jenkins user,並去掉當前行注釋 jenkins user root 修改jenkins相關資料夾使用者許可權 c...
以服務形式執行SVN(svnserve)
註冊svnserve到系統服務 安裝目錄不帶空格 sc create svnserve binpath c svnserve svnserve.exe service root c repos displayname subversion depend tcpip start auto 安裝目錄帶空...
BASH 通過變數執行命令
問題 你希望根據實際情況執行不同的命令,怎麼去實現呢?解決方案 有很多問題解決這個問題,這也是指令碼要解決的。後面的章節中有很多的程式設計邏輯可以解決這個問題,比如 if then else,case 語句。fn tmp x.x prog echo prog fn prog cat prog fn ...