0
特定のディレクトリに移動するbashスクリプトを実行しようとしています。 問題は、スクリプトが最新のフォルダに入れられないことです。Bashスクリプトでディレクトリを変更する
フォルダは次のようになります。
[email protected] ~/jdownloader/logs # ls -lha
total 104K
drwxr-xr-x 9 root root 4.0K Nov 30 11:52 .
drwxr-xr-x 14 root root 4.0K Nov 30 11:52 ..
drwxr-xr-x 2 root root 4.0K Nov 30 11:18 1479843940152_Tue, Nov 22, 2016 20.45 +0100
drwxr-xr-x 2 root root 4.0K Nov 30 11:21 1480501204839_Wed, Nov 30, 2016 11.20 +0100
drwxr-xr-x 2 root root 4.0K Nov 30 11:22 1480501242752_Wed, Nov 30, 2016 11.20 +0100
drwxr-xr-x 2 root root 4.0K Nov 30 11:30 1480501308071_Wed, Nov 30, 2016 11.21 +0100
drwxr-xr-x 2 root root 4.0K Nov 30 11:56 1480503116574_Wed, Nov 30, 2016 11.51 +0100
drwxr-xr-x 3 root root 12K Nov 23 11:25 extracting
drwxr-xr-x 2 root root 64K Nov 30 11:22 updatehistory
私のスクリプトからの重要な抜粋です:
#!/bin/bash
declare dir=/var/log/scriptlog/jdstate
declare dir2=~/jdownloader/logs
NewFolder=`ls -rt1 ~/jdownloader/logs -I extracting -I updatehistory | tail -1 > /var/log/scriptlog/jdstate/newfolder.log`
OutputNewFolder=`head $dir/newfolder.log -n 1`
cd\ "\"$dir2/$OutputeNewFolder\""
私は彼が私に彼は、ディレクトリを見つける傾けるというエラーが表示されたスクリプトを実行しようとします。
それをコピー/ペーストすると、彼はディレクトリに行きます。
どのようにディレクトリに行くことができますか?回答を検索する方法を一人一人のために
なぜCDの後にバックスラッシュがありますか?なぜ二重引用符を逃しているのですか? – 123
私はちょうどcdの後にスペース()をエスケープしようとしました しかし、それは何も影響しませんでした – Naluga
私はあなたが余りにも多くのエスケープを持っていると思う、あなたの 'cd'の一部として文字通りの引用符を望まないし、私が思っていない空間から脱出する。 'cd" $ dir2/$ OutputNewFolder "'を試してみてください(また、OutputNewFolderを正しく綴る - あなたは余分な 'e'を持っています)。また、U&Lサイトの[この関連する質問](http://unix.stackexchange.com/questions/16622/bash-cd-to-the-most-recently-modified-child-directory)を参照してください –