我有一個簡短的shell腳本,用於創建備份。文件名後面的問題標記未顯示回顯
#!/bin/bash
export MyBackup="MyBackup`date +%m-%d-%H:%M`"
echo $MyBackup
vi /tmp/$MyBackup.txt
rm -rf /tmp/"$MyBackup"
但是,創建的文件名與MyBackup12-09-08:46?.txt?
類似。 echo命令返回正確的字符串,但vi命令創建一個帶有?的文件。如何在沒有這些的情況下創建文件?
大部分問題似乎都是關於編碼差異的討論,但是如果情況如此,我會認爲它會顯示不正確。
感謝
我無法重現您所說的文件已創建。你有沒有機會在Windows上編輯這個文件?也許在行尾有隱藏的'\ r'字符? –
另外,你知道你在'$ MyBackup.txt'上執行'vi',但是試圖刪除沒有'.txt'擴展名的'$ MyBackup',對吧? –
我跑了'e ++ ff = unix',好像每一行都有一個^ M結尾。我試圖刪除這些,看看它是否可以解決這個問題。我原本是在Windows的Atom內部打開並保存的,但我沒有修改它。 – Proximus