[linux]windows上編寫的shell指令碼linux上報錯,Bom問題
使用nodepad++編輯好的bash指令碼,在linux上執行就會出出錯。
# /etc/init.d/nginx nginx
-bash: /etc/init.d/nginx: /bin/bash^M: bad interpreter: No such file or directory
出現這個錯誤的原因,windows下每一行的結尾是\n\r,而在linux下檔案的結尾是\n。
還有個容易錯的就是utf-8檔案有麼有bom的問題,關於bom這個問題值得大家關注下,特別是在windows和linux兩個系統間工作的人,總是會因為這個造成很多錯誤。之前使用jekyll靜態檔案寫靜態部落格就是因為bom的問題搞了很久。。
可以google下“ bom編碼”,然後好好理解下。
當時解決的辦法:
用vim
fileformat=unix
然後儲存退出
:wq!
或者使用sed來處理下
sed -i 's/\r//' filename
需要重定向到一個檔案中
重新執行shell,應該就可以了。
作者: orangleliu
相關推薦
[linux]windows上編寫的shell指令碼linux上報錯,Bom問題
使用nodepad++編輯好的bash指令碼,在linux上執行就會出出錯。 # /etc/init.d/nginx nginx -bash: /etc/init.d/nginx: /bin/bash^M: bad interpreter: No such file or
windows下編寫shell指令碼放到linux執行問題
在windwos下用記事本編寫了個shell指令碼,拿到cygwin下執行沒問題,但是拿到linux下執行就出問題,顯示: :bad interpreter:no such file or directory 出現問題的原因就是“行終束符”,unix/linux使用 換行符;而dos/windows使用 回
Linux系統下編寫shell指令碼傳入引數列印系統當前執行緒數到指定檔案
最近在做效能測試,要檢視系統執行過程中執行緒數,很簡單輸入命令:netstat -anp |grep java |wc -l,可以查詢。但是如何在執行過程定時列印系統執行緒數且將結果輸出到指定檔案呢?也很簡單我們直接寫一個shell指令碼執行下就可以了。以
Linux 中高效編寫 Shell 指令碼的 10 個技巧
Shell 指令碼程式設計 是你在 Linux 下學習或練習程式設計的最簡單的方式。尤其對 系統管理員要處理著自動化任務,且要開發新的簡單的實用程式或工具等(這裡只是僅舉幾例)更是必備技能。 本文中,我們將分享 10 個寫出高效可靠的 bash 指令碼的實用技巧,它們包括: 1、 指令碼中多寫註釋
linux下如何編寫shell指令碼_2012-12-21
因為我的同事cwl有事情請假兩天,所以需要我直接和lenovo進行交涉,我需要些一個簡單的測試程式,這裡用到了編寫shell指令碼,實現兩個c程式的編譯。我對shell指令碼的認識,除了執行過同事寫的shell 指令碼外,其他一無所知,為了讓自己強大
嵌入式linux入門之編寫shell指令碼應注意的事項
對於任何想適當精通一些系統管理知識的人來說,掌握Shell指令碼知識都是基本的,學習如何編寫Shell指令碼並不是一件困難的事,因為指令碼可以分為很小的塊,並且相對於Shell特性的操作和選項部分,我們只需要學習一小部分就可以了。Shell語法簡單並且直觀,編寫指令碼很像是在命令列上把相關命令和工具連線起來,
編寫shell指令碼在Linux上無法正常執行
用Windows版的notepad++編寫的指令碼怎麼都無法在Linux上執行,後來才發現是因為沒有轉換成Unix格式,所以Linux上對於空格跟回車識別不了, 解決: 在notepad++右下角window那個地方右鍵(也可以在頂部選單欄尋找),選擇Unix格式再傳到L
Linux:高效編寫shell指令碼的10個建議
轉載地址: https://mp.weixin.qq.com/s/YmROxFBkfMxuh_VaaI4wtg 【Linux命令】 linux下高效編寫shell指令碼的10個建議 在Linux環境下工作 ,shell指令碼的編寫應該是一個必備的基本技能了
編寫shell指令碼檢視linux當前各使用者的cpu和memory消耗比例
為了方便自己檢視centOS上的各使用者cpu和記憶體的使用比例,寫了shell指令碼。 viewUsage.sh #!/bin/bash # # view the cpu and memory consumption of each user at the current
linux 下使用expect編寫shell 指令碼互動訪問遠端伺服器
使用命令列登陸遠端伺服器一般需要ip地址以及登陸密碼等,每次都手動輸很不方便,expect可以滿足自動輸入密碼。下面是詳細的介紹: 首先安裝expect: 我用的是ubuntu14.04,使用sudo apt-get install expect即
Linux檢視磁碟資訊(編寫shell指令碼來分析檔案的佔用情況)
今天筆記本不停的提示我空間不足空間不足。於是在圖形化介面下看了一下磁碟的使用情況,居然使用率99%。(當初換固態硬碟的為了圖便宜換了258G,覺得差不多夠用了,現在崩盤了)一直覺得沒給固態中放什麼大檔案,還是空間不足了很好奇是什麼目錄佔了大量的空間。就Googl
windows上寫的指令碼,結果到linux上執行報錯
原因: 出現這種錯誤的原因是因為:CR/LF問題,在dos/window下按一次回車鍵實際上輸入的是“回車(CR)”和“換行(LF)”,而Linux/unix下按一次回車鍵只輸入“換行(LF)”,所以
Linux命令列與shell指令碼程式設計大全(二)
十一、處理使用者輸入 命令列引數 讀取引數: $0是程式名,$1是第一個引數,$2是第二個引數,以此類推,直到第9個引數$9。當引數個數超過10以後,需要在變數數字周圍加上花括號,如${10},如果輸入到命令列的引數是字串且含有空格,需要使用引號。 #! /bin/bash echo
Linux命令列與shell指令碼程式設計大全(一)
一、基本 bash shell命令 建立檔案 : touch 連結檔案:符號連結:是一個實實在在的檔案,兩個通過符號連結在一起的檔案,彼此的內容並不相同。使用ln -s命令。 硬連結:會建立獨立的虛擬檔案,其中包含了原始檔案的資訊及位置。但他們從根本上而言是同一個檔案。原始檔案必須事
Linux命令列與shell指令碼程式設計大全(三)
十二、呈現資料 輸入和輸出 標準檔案描述符 0 STDIN 標準輸入 &n
Windows如何連線linux和上傳檔案到linux(securcrt)
一般開發在Windows,部署專案在linux這個時候就要選一個方便的軟體可以將專案扔到linux上去了,securcrt.這個軟體很好實用 網上很多免安裝版的,開啟即用,首先是連線linux 這個就不說 輸入公網ip 使用者名稱 密碼就可以 SecureCRTPo
《Linux命令列與shell指令碼程式設計大全》讀書筆記————第三章 基本的bash shell命令
本章內容 1、使用shell 2、bash手冊 3、瀏覽檔案系統 4、檔案和目錄列表 5、管理檔案和目錄 6、檢視檔案內容 3.3 bash手冊 命令: man xterm 作用:檢視檢視xterm使用者手冊 man命
《Linux命令列與shell指令碼程式設計大全》讀書筆記————第一章 初識Linux shell
本章內容 1、什麼是Linux 2、Linux核心的組成 1、1 什麼是Linux Linux課劃分為以下四部分 a)Linux核心 b)GNU工具 c)圖形化桌面環境 d)應用軟體 1.1.1 深入探究Linux核心
在windows上配置並連線Linux虛擬機器上的HDFS系統
1.將hadoop-eclipse-plugin-2.7.5.jar放到myeclipse的安裝目錄下的plugins目錄下,並重啟myeclipse 2.在windows->preferences下可看見hadoop Map/Reduce介面,路徑選擇你WINDOWS下的hadoop解壓
thinkphp 3.2 伺服器 session 設定時間週期失效問題 伺服器是linux windows 上暫時沒有發現此類問題
今天有時間,寫一下之前 用 TP3.2 版本 session 設定時間週期失效問題,希望可以幫助到有遇到過相同的問題的夥伴,讓你們少走一些彎路 問題場景: 在這是使用 session 快取的時候(檔案快取),設定的時間無效,也就是快取不過期,變成了永久性快取 舉