當前位置:首頁 » 網頁前端 » sh腳本換行符報錯
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sh腳本換行符報錯

發布時間: 2023-03-23 11:35:41

『壹』 執行SHELL報錯

用VIM編輯一下這個shell腳本,你應該會看到每一行最後會有一個"^M",把每一行最後的^M刪源備掉(注意!這是1個字元,而不是2個),之後再重新執行一次試試

這種情況的原因是由於你的腳雹滑毀本是在Windows下編寫後傳入到Linux伺服器上執行,Windows格式的文本文件的換行符與Linux系統的換行符不一樣,有時讓洞會導致執行錯誤。

『貳』 shell腳本報錯:「#!/bin/bash: 沒有那個文件或目錄」,該怎麼辦

你確認你腳本第一行寫的是#!/bin/bash,從你的出錯信息中看,你寫的好像是bin/bash,少個/。有種方法可以解決,你可以從其他地方一個shell腳本到你需要的目錄下,然後vi進去把內容刪除,重新把你寫的腳本內容粘貼進去,保存就行了,當然,原來腳本的頭文件位置就不要更改了。#!/bin/bash,

具體如下:

1、簡介

編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式運行,並最終得到相應結果的過程。

為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。

2、匯編程序

匯編程序。使用匯編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統的硬體結構,所以從程序設計本身上來看仍然是低效率的、繁瑣的。但正是由於匯編語言與計算機硬體系統關系密切,在某些特定的場合,如對時空效率要求很高的系統核心程序以及實時控製程序等,迄今為止匯編語言仍然是十分有效的程序設計工具。

3、執行原理

計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。這種將高級編程硬體程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。

『叄』 linux運行sh腳本出現/r

項目中要運行sh腳本。但是腳本的項目路徑文件夾運銀塌行的時候 會報錯,找不到文件夾。
發現執行的時候會默認在 sh腳本中添加/r 也就是回車鍵。

找了半天才想起來是文件格式不對悶敬。

在vim 下面螞搏慎執行 :set ff 查看當前文檔的格式 是gos

需要將sh腳本改成unix格式的才能運行。

完美!

『肆』 shell腳本,遇到換行時候執行錯誤

在ubuntu上執行sh腳本時出現 $』\r』:command not found

一臉懵逼。。。然後仔細檢查腳本,對應行位置只是一個空行

最後各種查詢才發現原因,腳本是我在window上編輯的,然後在ubuntu上運行的。。。嗯,所以出現了蠢畝嫌問題,帶手,,

window下的換行是回車符+換行符,也就是\r\n,而unix下是換行符\n。ubuntu下不識別\r為回車符,所以導致每行的配置都多了個\r,因此是腳本編碼的問題。

在ubuntu上執行sudo dos2unix  you_shell_name.sh,轉耐祥換腳本格式,然後,

再次執行腳本,報錯消失。

感謝: https://blog.csdn.net/naipeng/article/details/78349580