[linux] bash中的單引號(‘)和雙引號(“)

在命令行中,單引號(')和雙引號(")在某些情況下會有不同的效果,尤其是在涉及bash變量和特殊字符的解析時。在你給出的兩個命令中:

ps -ef|grep "tokenize"|grep -v grep|awk '{print $2}'

ps -ef|grep "tokenize"|grep -v grep|awk "{print $2}"

差異來自于單引號和雙引號對于$2的處理:

  • 當使用單引號{print $2}時,$2是被當作字符串的一部分,表示awk應當打印出當前行的第二個字段。單引號會阻止shell對其進行變量展開,因此$2這個表達式被完整地傳遞給了awk。

  • 當使用雙引號"{print $2}"時,雙引號不會阻止shell變量替換。如果在執行這段命令的環境中,shell中恰好有一個名叫$2的變量(比如在一個腳本中作為位置參數傳入),shell會先嘗試將$2替換為對應的變量的值,然后才會執行awk。如果$2變量不存在,它將被替換為空字符串,這可能會導致awk命令行為不正常或者輸出不正確。

在大多數的Unix-like系統中,使用單引號可以保證命令按照預期的方式運行,因為它將預防shell在傳遞給awk之前對內容進行任何處理。所以第一個命令'{print $2}'更可靠,因為它會正確地被處理為awk命令打印每行的第二列。

如果兩個命令給出了不同的輸出,那可能是因為$2在當前shell環境中已經有了一個值,而這個值在使用雙引號的情況下被插入到了awk命令中。通常在執行這些命令時,為了確保可靠性,建議使用單引號。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14650.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14650.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14650.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PCL點云邊界提取——源碼解析

文章目錄 一、概述二、PCL邊緣檢測源碼定位過程1、初始化2、檢查輸入點云是否稠密3、迭代處理每個點4、輸出三、修改后的過程調用一、概述 在PCL中集成了一個非常經典的點云邊緣檢測算法,這個算法也在 PCL點云邊界提取這篇博客中講解了。該文章只介紹了AC算法的原理及接口調用…

hook中useContext到底怎么用

語法: somecontext createContext(defaultValue); 作用: 避免了組件嵌套太深, 頂層變量層層傳遞的麻煩. 如何消費頂層數據 第一步: 用createContext聲明一個context上下文變量 import { createContext } from react;export const GlobalContext createContext({} as any);…

面試問題小結

說說你的項目,從里面學到啥了(隨便說) CAS 線程池 的各個方面 線程咋創建(4種方式) 說一下聚集索引和非聚集索引 50w男 50w女 ,在B樹中咋存儲的(類似下面的圖,變通一下就行了&a…

本是夢中人,常作花下客。心中自往來,知我有幾個。

我們總是喜歡拿“順其自然”來敷衍人生道路上的荊棘坎坷,卻很少承認,真正的順其自然, 其實是竭盡所能之后的不強求, 而非兩手一攤的不作為。 一花凋零荒蕪不了整個春天, 一次挫折也荒廢不了整個人生。 多年后&#x…

近臨算法(個人總結版)

背景 近鄰算法(Nearest Neighbor Algorithm)是一種基本但非常有效的分類和回歸方法。最早由Fix和Hodges在1951年提出,經過幾十年的發展和改進,已成為數據挖掘、模式識別和機器學習領域的重要工具。近鄰算法基于相似性原則&#x…

通過el-tree自定義渲染網頁版工作目錄,實現鼠標懸浮顯示完整名稱、用icon區分文件和文件夾等需求

目錄 一、通過el-tree自定義渲染網頁版工作目錄 1.1、需求介紹 1.2、使用el-tree生成文檔目錄 1.2.1、官方基礎用法 ①效果 ②代碼: 1.2.2、自定義文檔目錄(實現鼠標懸浮顯示完整名稱、用icon區分文件和文件夾) ①效果(直接效…

find 幾招在 Linux 中高效地查找目錄

1. 介紹 在 Linux 操作系統中,查找目錄是一項常見的任務。無論是系統管理員還是普通用戶,都可能需要查找特定的目錄以執行各種操作,如導航文件系統、備份數據、刪除文件等。Linux 提供了多種命令和工具來幫助我們在文件系統中快速找到目標目…

淺談后端整合Springboot框架后操作基礎配置

boot基礎配置 現在不訪問端口8080 可以嗎 我們在默認啟動的時候訪問的是端口號8080 基于屬性配置的 現在boot整合導致Tomcat服務器的配置文件沒了 我們怎么去修改Tomcat服務器的配置信息呢 配置文件中的配置信息是很多很多的... 復制工程 保留工程的基礎結構 抹掉原始…

樸素貝葉斯+SMSSpamCollections

1. 打開 Jupyter 后,在工作目錄中,新建一個文件夾命名為 Test01 ,并且在文件夾中導入數據 集。在網頁端界面點擊 “upload” 按鈕,在彈出的界面中選擇要導入的數據集。然后數據集出現 在 jupyter 文件目錄中,此時…

Vue.js Promise 與 async/await 的比較

在現代 Web 開發中,異步操作是不可避免的。在處理異步數據獲取時,開發人員通常會使用 Promise 或 async/await。雖然兩者都可以實現相同的功能,但它們在代碼風格、可讀性和錯誤處理等方面有所不同。本文將對這兩種方法進行比較,并…

初識Qt:從Hello world到對象樹的深度解析

Qt中的對象樹深度解析 Hello world1.圖形化界面創建命令行式創建在棧上創建在堆上創建為什么傳文本需要QString,std::string不行嗎?那為什么要傳入this指針?為什么new后不用顯示調用delete函數呢,不會造成內存泄漏問題嗎&#xff…

python:__class_getitem__使用以及cached_property源碼分析

python:__class_getitem__使用以及cached_property源碼分析 1 前言 Python中如何模擬泛型類型? 當使用類型標注時,使用 Python 的方括號標記來形參化一個 generic type 往往會很有用處。 例如,list[int] 這樣的標注可以被用來表…

深入 OpenFeign:探索緩存、QueryMap、MatrixVariable 和 CollectionFormat 的高級用法以實現優雅的遠程調用

免費多模型AI網站,支持豆包、GPT-4o、谷歌Gemini等AI模型,無限制使用,快去白嫖👉海鯨AI 一、OpenFeign簡介 OpenFeign 是一個聲明式的 HTTP 客戶端,它使得我們可以通過簡單的注解和接口定義來調用遠程 HTTP 服務。與傳統的 HTTP …

K8S集群再搭建

前述:總體是非常簡單的,就是過程繁瑣,不過都是些重復的操作 master成員: [controller-manager, scheduler, api-server, etcd, proxy,kubelet] node成員: [kubelet, proxy] master要修改的配置文件有 1. vi /etc/etcd/etcd.conf # 數…

Mokito的一些API

Mockito是一個Java單元測試框架,它允許開發者創建和配置模擬對象(mock objects),以便在隔離的環境中測試代碼,尤其是當實際對象難以構造或其行為不確定時。下面是一些核心的Mockito API及其使用場景和代碼示例。 基礎…

wordpress教程視頻 wordpress教程網盤 wordpress教程推薦wordpress教程網

WordPress,作為一款強大且靈活的開源內容管理系統,已成為許多網站開發者與運營者的首選。其強大的功能、豐富的插件以及易于上手的特點,使得無論是初學者還是專業開發者都能輕松構建出個性化的網站。然而,對于初學者來說&#xff…

JUnit5標記測試用例

使用場景: 通過Tag對用例分組: 環境分組:測試環境、預發布環境階段分組:冒煙用例版本分組:V1.1、V1.2 Tag標記用例: 設置標簽根據標簽執行 結合Maven執行結合測試套件執行 設置標簽: 通過T…

NER 數據集格式轉換

NER 數據集格式 格式一 某些地方的數據和標簽拆成兩個文件了 sentences.txt 如 何 解 決 足 球 界 長 期 存 在 的 諸 多 矛 盾 , 重 振 昔 日 津 門 足 球 的 雄 風 , 成 為 天 津 足 壇 上 下 內 外 到 處 議 論 的 話 題 。 該 縣 一 手 抓 農 業…

【Spring Cloud】全面解析服務容錯中間件 Sentinel 持久化兩種模式

文章目錄 推送模式本地文件持久化(拉模式)配置yml編寫處理類添加配置演示 配置中心持久化(推模式)修改nacos在sentinel中生效引入依賴配置文件 修改sentinel在nacos中生效下載源碼更改代碼演示 總結 推送模式 Sentinel 規則的推送…

allegro 無法刪除Xnet

allegro 無法刪除Xnet Orcad中打開Constraint Manager之后,再生成網表,導入PCB后就會出現一堆Xnet網絡。無法去除Xnet。 解決辦法 在原理圖ORCAD中, 1、打開Edit Object properties 2、選擇Filter by:Capture 3、點擊New Property 4、設置…