2017-02-21 133 views
0

私はここに私のWindowsコンピュータにcifs共有フォルダを設定したLinuxボックスを持っています。そこに問題はなく、意図した通りに正確に動作します。しかし、私は同じディレクトリを使用していくつかのbashスクリプトを実行することを考え、それは私のルートを見つけるされていないようだ。共有フォルダからこれを行うmkdir:ディレクトリを作成できません:そのようなファイルやディレクトリはありません - cifs windows共有フォルダ

now=$(date +"%Y-%m-%d") 
#or: `now=$(date +%s)` if you back up more than once a day 

mkdir /__backup/"$now" 

は、それがディレクトリに runningtheseコマンドを見つけることができないことを起動します:「」

echo "$0" 
dirname "$0" 

は、などのアドレスを示しています

誰でもこれを実行する方法に関するアイデアはありますか?

+0

代わりに文字列を出力するだけです。 –

+0

** [Windows Subsystem for Linux](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide)**にチェックをして、同じことをしますAFAICT – Blacksilver

+0

ああ...これはわずかです異なる。私は、Linux側から自動化されたスクリプトを実行しようとしています。窓なし。 –

答えて

0

あなたがやっている:

#!/bin/bash 
now=`date "+%Y-%m-%d"` 
mkdir "/__backup/$now" 

/__backup/が存在するのであれば、この唯一の作品。実行します。もちろん

#!/bin/bash 
now=`date "+%Y-%m-%d"` 
mkdir -p "/__backup/$now" # -p creates parent directories as needed (see man mkdir) 

#Optional: change directory to the one you just created: 
cd /__backup/$now 

を、あなたは/にディレクトリを作成するルートが必要になりますので、あなたはそれをチェックすることをお勧めします。

if [ `whoami` = "root" ]; then 
    # You are root... 
else 
    echo "Error: Only root can do that." 
    exit 1 
fi 

あなたは~__backupを作成する場合のルートを必要とする全体の問題を回避することができます。 __backupの名前を.backupに変更して非表示にすることもできます。

+1

または、 'mkdir -p ...'を使用してください。 –

+0

まあ、毎日新しいことを学びます。編集中... – Blacksilver

+0

'mkdir:ディレクトリを作成できません '/ __バックアップ/ 02_21_17 \ r \ r':そのようなファイルやディレクトリはありません。 '' ' これはまだ動作しません。 –

関連する問題