は、ファイルの内容を「code.sh」です:私はvimの中で「code.sh」を開くとBashの部分文字列置換を実行し、vimは構文エラーを表示し続けます。ここ
#!/bin/bash
x=Funtime/CandyBeer20171018.txt
a=${x:(-12):8} #start 12 characters from the end of string and select 8 characters
echo $a
、3行目は、「赤されているテキストの部分、赤で構文エラーを返します。 :( - 12):8 "。私はXubuntu 14.04でvimを使っています。
言い換えれば、コードは必要に応じて動作します。スクリプトを実行すると、文字列 "20171018"のみが返されます。
私の構文が間違っているか、これは偽のフラグですか?
構文が間違っている場合は、誰かが解決したり、私に別の解決方法を教えてもらえますか?文字列の最後を基準点として切り捨てることが重要であることを覚えておいてください。
ここで私の髪を切り取っています。助けてください。私は何時間もカット、ヘッド、テールを演奏してきましたが、これは負のインデックスを使用して解決策に到達することができる最も近い方法です。
新しいシェルを使用してサポートしている場合は、構文は問題ありません。 –
ところで、次に構文の健全性チェックが必要なときは、[ShellCheck](http://www.shellcheck.net/)の使用を検討してください。 –
これはvimでよくあることですか?私がvimで偽の旗を手に入れたのはこれが初めてのことです。私はこれを少し不安に思っています –