在JavaScript中,你可以使用Node.js的child_process
模塊來與Linux命令行進行交互。child_process
模塊提供了exec
和spawn
兩種方法來創建子進程并執行Linux命令。
以下是使用child_process
模塊的一個簡單示例:
const { exec } = require('child_process');
// 執行Linux命令
exec('ls', (error, stdout, stderr) => {
if (error) {
console.error(`執行錯誤: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
if (stderr) {
console.error(`stderr: ${stderr}`);
}
});
如果你需要更高級的交互,例如實時接收命令輸出或向命令發送輸入,你可以使用spawn
方法:
const { spawn } = require('child_process');
// 創建子進程
const child = spawn('bash');
// 監聽子進程的輸出
child.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
// 監聽子進程的錯誤輸出
child.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
// 監聽子進程的關閉事件
child.on('close', (code) => {
console.log(`子進程退出,退出碼:${code}`);
});
// 向子進程發送輸入
child.stdin.write('echo "Hello from child process"\n');
child.stdin.end();
請注意,這些示例需要在Node.js環境中運行,而不是在瀏覽器中。在瀏覽器中運行JavaScript代碼會受到安全限制,無法直接訪問系統命令行。