Shell

Linux 等效於 windows cmd 命令

  • July 1, 2018

我正在遷移到 Linux,我需要轉換以下 Windowscmd命令:

fc file1.txt file2.txt | find /i "no se han encontrado diferencias" > nul && set equal=yes

我認為fc可以替換為diffor comm, findwith grep,但我不知道如何做這&&部分,也許是一個if聲明……

猜測這些 Windows 命令的作用,我會說 POSIXsh腳本中的等價物是:

equal=no
cmp -s file1 file2 && equal=yes

如果可以讀取兩個文件並具有相同的內容(字節到字節),這會將equal變數設置為。yes

作為 的替代方案cmp -s,在包括基於 Linux 的系統在內的某些系統上,您可以使用diff -q. diff -qq對於qui​​et),與大多數cmp -ss對於qui​​et)相反,如果無法讀取任何文件,則會報告錯誤消息。diff雖然和的 GNU 實現cmp首先檢查這兩個文件是否是同一個文件的路徑(包括作為另一個文件的硬連結或符號連結),或者是否具有不同的大小以節省閱讀它們的busybox時間,cmp但雖然busybox diff確實如此。因此,在那些使用 的系統上,出於性能原因busybox,您可能更喜歡。diff -q

引用自:https://unix.stackexchange.com/questions/452663