7
のは、私のサーバー上でそれを想像してみましょう、私は、次のファイルを持っている:bashスクリプトと正規表現の問題
[email protected]:/var/log/foo$ ls
fooFile1 fooFile2 logFile logFile.1 logFile.2
は、私はすべてのファイルが、ログファイルを含むアーカイブを作成したいです*。。
[email protected]:~$ tar -czf foo.tar.gz /var/log/foo/!(logFile.*)
、それが正常に動作します:だから私は、コマンドを思いつきました!同じ仕事をしてスクリプトを作成しようとしたときただし、:
#!/bin/bash
tar -czf foo.tar.gz /var/log/foo/!(logFile.*)
を私は次のエラーに出くわした:
./test.sh: line 3: syntax error near unexpected token '('
./test.sh: line 3: 'tar -czf foo.tar.gz /var/log/foo/!(logFile.*)'
問題は(私が代わりにls
を使用して同じ問題を満たし、関連タールではありませんtar
)
このエラーの原因はわかりません。誰かが私が間違っている場所を教えてもらえますか?
のUbuntu 12.04で出会ったばかりシェバング以下
を有効にする必要が拡張されたグロブパターンです。 –
私はそれについてもっと調べる必要があります。両方のおかげで! –