如何將linu命令的結果作為下命令的引數

2021-08-21 00:09:23 字數 1695 閱讀 6217

1樓:伊筱語

利用管道 | 比如ls 當前資料夾 並查詢123.txt 就可以

ls -a | grep 123.txt

這個命令就是把ls -a 顯示全部檔案的內容當成引數傳遞到後面grep 其他還有》等

2樓:匿名使用者

著要看你怎麼要這個命令引數了。

一般來說可以用 $(***xx) 或者 `***xx` (數字1左邊的那個引號)做命令的巢狀

jiangtao@gentoo ~/temp $ date

2023年 03月 07日 星期四 21:44:23 cst

jiangtao@gentoo ~/temp $ echo 現在時間是:`date`

現在時間是:2023年 03月 07日 星期四 21:44:45 cst

jiangtao@gentoo ~/temp $ echo 現在時間是:$(date)

現在時間是:2023年 03月 07日 星期四 21:44:57 cst

jiangtao@gentoo ~/temp $

管道符是另一種用法,這是用“標準輸入輸出”給命令做資料。

但要注意,這一般是需要處理的資料,不是作為一個程式的引數。第二個命令必須支援管道符輸入資料才行。

引數和管道符提供的資料流是不同的概念。

在linux shell的()功能,可能將命令的輸出結果交給另一個命令列處理

3樓:神靈武士

兩種情況:

1 一條命令中使用其他命令的結果。舉個簡單的例子:

[root@mpf202 mao]# cd $(echo /) #$(echo /)的結果為/,等同於cd /

[root@mpf202 /]# pwd

/2 命令的結果作為下一條命令的輸入。距離:

cat file1 file2 | sort #兩個檔案合在一起後排序,合在一起的內容作為sort的物件

如果不適用管道符,我們就要藉助tmp檔案了。

cat file1 file2 > tmp.txtsort tmp.txt

rm -rf tmp.txt

由此可見管道符簡化了操作。

怎麼編寫linux shell管理有引數(該引數來自前一個命令執行出來的結果)的命令?

4樓:

你如果想將前一個命令執行出來的結果作為後一個命令的引數,那麼你需要用到管道。

比方說 你現在有一個名字為text.txt的檔案,你只知道它在/home目錄下,你想獲取該文字的內容。

find /home -name "text.txt" | xargs more

其中xargs的作用是將引數列表轉換成小塊分段傳遞給其他命令,以避免引數列表過長的問題。

5樓:

不知道目錄名字沒法寫

需要你手工選擇ls -l /home 裡面的結果需要和shell互動

所以你寫指令碼還不如直接去檢視

不要做這些沒有意義增加操作的事

6樓:匿名使用者

可以用命令列去傳遞引數;

比如:命令列的命令:commmand argu1 argu2

傳遞到shell中的$0就是commmand ,$1就是argu1,$2就是argu2,注意引數別傳遞太多了,shell有限制的

oracle的impdp命令如何將資料匯入到指定表空間

答案是 不可能做到!oracle有自己的演算法均衡地把資料分散到各個datafile裡去。當然如果一個表空間只有一個資料檔案,就只能寫到這個資料檔案裡去了。兩邊資料庫的 db block size 一樣大小不?或者看看具體表空間的 db block size 是否相同 oracle11g 資料泵匯入...

如何將膝上型電腦作為無線路由器,如何將Win7膝上型電腦變成無線路由器

1 開啟 網路和共享中心 可以點選電腦右下角的聯網的標誌,或者從 控制面板 開啟。2 設定新的連線或網路,點選 設定新的連線或網路 4 輸入網路名 密碼,網路名字自己隨便輸,密碼要八位後,即可開啟共享。1 單擊 開始 附件 命令提示符 2 找到 命令提示符 右擊它,選擇 管理員身份執行 輸入 net...

linu下命令視窗中和的區別,linux下命令視窗中和的區別

沒有實質的區別。只不過系統為便於區別 很直觀 會有個預設設定,如 代表 root許可權 內 代表普通使用者。當然容,如果更改了 etc profile 或 bashrc等文件,可以用任何符號來代替它們。有區別 代表你能做任何事 代表你能做一些 下和 home目錄的所有事 表示現在的使用者是普通使用者...