shell中執行一個字串命令的方法
先來寫正確的方法
cmd="echo hello word"
$cmd
或者eval $cmd。實際我測試的時候略有差別。比如執行‘ls -l’命令的時候,沒有eval得到的就沒有顏色。有了eval就有顏色。跟自己敲入命令的執行結果是一樣的。這個我不知道為什麼。盼高手來解答。
over
網上有很多人用 `eval $cmd` 或者 $($cmd) 。我試了一下都不行。鄙視那些沒經過測試就亂回答問題的人。其實不用``或者$()就對了。
千萬要注意的是:你的命令一定要用單引號括起來,避免你的命令中含有$var這樣的變數被擴充套件後賦值給cmd(其實還有很多擴充套件)。這樣你執行的命令就可能產生問題。而且還是很隱蔽的問題。原理很簡單,shell僅僅要得到一個原封不動的字串。而後將該字串送入shell就可以了。
相關推薦
shell中執行一個字串命令的方法
先來寫正確的方法 cmd="echo hello word" $cmd 或者eval $cmd。實際我測試的時候略有差別。比如執行‘ls -l’命令的時候,沒有eval得到的就沒有顏色。有了eval就有顏色。跟自己敲入命令的執行結果是一樣的。這個我不知道為什麼。盼高手來解答。
shell中執行多個命令的方法
shell中執行多個命令的方法 1、在命令列中同時輸入多個語句: 直接在linux命令列中可以依次執行多個命令,多個命令間可採用“;”、“&&”和"||"分割,三個分隔符作用不同: (1);分割符:前後命令間沒有必然的聯絡,前一個執行結束後、再執行第二個,沒有邏輯關聯;
linux的shell指令碼中執行多個命令的方法
第一種是以分號(;)進行劃分:表示:各命令的執行的果,不會影響其它命令的執行。換句話說,各個命令都會執行,但不保證每個命令都執行成功。 第二種命令之間&&隔開 表示:若前面的命令執
linux 下shell指令碼執行多個命令的方法
1.每個命令之間用;隔開 說明:各命令的執行給果,不會影響其它命令的執行。換句話說,各個命令都會執行, 但不保證每個命令都執行成功。 2.每個命令之間用&&隔開說明:若前面的命令執行成功,才會去執行後面的命令。這樣可以保證所有的命令執行完畢後,執行過程都是
Shell中執行sudo命令
使用 echo "passwd"|sudo -S command The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal d
shell 指令碼中求一個字串的長度
shell 中沒有可以直接求 某個字串變數的長度,有時候 想判斷 這個字串的長度,該如何是好呢, 我們都知道 -n -z 分別是 字串不為空, 和字串 為空。 有時候想知道,字串的長度 ,卻沒有一個好的辦法。 有一個辦法,可以用 awk 在awk 中有一個函式,
在Windows中執行Linux bash命令的幾種方法
如果你正在課程中正在學習 shell 指令碼,那麼需要使用 Linux 命令來練習命令和指
shell 中 exec 和 source 命令解析
mage 開始 概念 繼續 uil target 緩沖區 mman bash內部命令 文章大部分來源於:http://www.cnblogs.com/zhaoyl/archive/2012/07/07/2580749.html 作為筆記留存博客備忘。 exec和source
[ SHELL編程 ] shell中各種括號的使用方法
也會 保留字 val 返回值 之間 數值 dir 常用 過去 轉載自:http://www.jb51.net/article/60326.htm 在這裏我想說的是幾種shell裏的小括號,大括號結構和有括號的變量,命令的用法,如下:1.${var} 2.$(cmd) 3.(
java中給定一個字串,反轉其中的母音字母
package com.text.lianxi; import java.util.Scanner; public class Text { public static void main(String[] args) { // TODO Auto-generated metho
Linux學習總結(49)——應當竭力避免在系統中執行的 Linux 命令
前言 如果你是一個 Linux 新手,在好奇心的驅使下,可能會去嘗試從各個渠道獲得的命令。以下是 7 個致命的 Linux 命令,輕則使你的資料造成丟失,重則使你的系統造成癱瘓,所以,你應當竭力避免在系統中執行它們。 一、rm -rf 此命令將遞歸併強制刪除 / 目錄下的所有檔案。這
js中陣列和字串的方法總結
一、陣列方法簡單總結為以下幾種 1、原有: 增、刪、改、截、拼、復、排、轉 2、ES5擴充套件: 查、遍歷 增: 前增 var arr = [3,4,5,6,7]; console.log(arr.unshift(
freemarker中判斷一個字串是否包含另一個字串(select多選框資料回顯)
開發中用到了select多選框,所以資料回顯就要換一種方式解決。多選框返回的資料是一個用逗號分隔的字串,比如“a,b,c”,回顯的時候用contains判斷從而決定是否對每個option進行checked。 <#if "a,b,c,"?contains("a")>
shell固定執行緒數量應用方法_2018_lcf
這裡以ping網段做為應用示例 #!/bin/bash #執行緒數 DXC=150 #定義描述符為9的管道 mkfifo tmp exec 9<>tmp #預先寫入指定數量的換行符,一個換行符代表一個程序 for ((i=0;i<$DXC;i++)) d
android中從values/strings資原始檔中獲取拼接字串的方法
在編寫程式碼的時候,將程式碼中的字串儲存在res/values/strings資原始檔裡是一個好習慣,也是規範的做法。但是,有時候我們可能會碰到字串拼接的問題, 比如: <string name="selected">選擇了n個檔案</string>,這裡的n是隨著實
shell中如何判斷某個命令是否存在
首先要說明的是,不要使用which來進行判斷,理由如下: 1.which非SHELL的內建命令,(用type來判斷某個命令是否為內建命令。)用起來比內建命令的開銷大,並且非內建命令會依賴平臺的實現,不同平臺的實現可能不同。 2.很多系統的which並不設定退出時的返回值,
centos中執行apt-get命令提示apt-get command not found
轉載地址:https://blog.csdn.net/lydong_/article/details/79812694 在centos下用yum install xxx yum和apt-get的區別: 一般來說著名的linux系統基本上分兩大類: 1.RedHat系列:Redhat、Ce
【C語言】向建立的 d:\\demo.txt 檔案中追加一個字串。
#include<stdio.h> int main() { FILE *fp; char str[102] = { 0 }, strTemp[100]; if ((fp = fopen("D:\\demo.txt", "at+")) == NULL) {
Python中必備的字串拼接方法,你知道多少?
python拼接字串一般有以下幾種方法: ①直接通過(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 輸出結果:Hello World! 使用這種方式進行字串連線的操作效率低下,因為python中使用 + 拼接兩個字串時會生成
lua中的常用字串處理方法
對lua中string類庫中常用方法總結一二: 1、數字和字串相加減lua自動轉換: 2、#得到字串的長度: 3、string.byte:返回字元的內部數字編碼(ASCII碼) 4、string.