Node 執行包含重定向符的系統命令

2021-10-10 05:06:39 字數 394 閱讀 7194

let  = require('child_process');

async function execmd(command,opt)

根據如上**摘要封裝了執行系統命令的方法,正常執行各種命令沒有問題,但是運維給的其中乙個命令,

iptables-restore執行時會報錯:command not found!

在後台執行是沒有問題的,應該是重定向符出了問題。

各種轉義符都試了一下,無效!

暫時先把命令放在指令碼中執行:

#!/bin/bash

echo "execmd iptables-restoreiptables-restore

重定向執行中的程式的fd(檔案描述符)

原文 changing a process file descriptor on the fly debug產品中的乙個程式,發現debug資訊都沒有顯示出來,檢視了 proc fd發現stdout stderr都重定向到了 dev null。由於重定向並不是這個程序本身的行為,並且不方便重啟這個程...

shell額外的重定向運算子

posix shell提供了防止檔案意外截斷的選項 執行set c命令可開啟shell所謂的禁止覆蓋 noclobber 當它在開啟狀態下時,單純的 重定向遇到目標檔案已存在時,就會失敗。運算子則可令noclobber選項失效。shell的here document用法.here documents...

檔案描述符重定向的操作

1.linux用檔案描述符來標識每個檔案物件,檔案描述符是乙個非負整數,可以唯一地標識會話中開啟的檔案,每個過程一次最多可以有9個檔案描述符 2.0 stdin 標準輸入 1 stdout 標準輸出 2 stderr 標準錯誤 3.stdin stdin檔案描述符代表shell的標準輸入,對終端介面...