1
myDir = 'apple'
上記の変数がある場合、コマンド内でどのような機能を使用できますか?コマンド内のBash代入変数
明らかにls /home/$myDirfruit
が機能しないので、上記の変数を使用してls /home/applefruit
を行うにはどうすればよいですか?(私はそれが何らかの置換のタイプだと推測しています。
myDir = 'apple'
上記の変数がある場合、コマンド内でどのような機能を使用できますか?コマンド内のBash代入変数
明らかにls /home/$myDirfruit
が機能しないので、上記の変数を使用してls /home/applefruit
を行うにはどうすればよいですか?(私はそれが何らかの置換のタイプだと推測しています。
まず、変数の宣言は正しくありません。宣言で=
周りにスペースを入れないでなければなりません:myDirfruit
だけではなくmyDir
の変数名として扱われているので、
myDir='apple'
今、ls /home/$myDirfruit
は動作しませんでした。あなたは名前が有効な変数名構成文字が続いているときに、変数名を囲む{}
を使用する必要があります:あなたは、変数名にスペースを持っている場合にも
ls /home/applefruit
:
ls /home/${myDir}fruit
はに拡大されるだろう例えばmyDir='foo bar'
は、変数の前後に引用符を使用します。括弧をドロップするだけで、 `$ myDir`を引用するときだけ、完全を期すため
ls /home/"${myDir}"fruit
を、引用符で十分です。 'ls/home /" $ myDir "fruit'です。一般に、中括弧はパラメータを拡張する標準的な方法ですが、パラメータの名前があいまいでない場合は削除される可能性があります。 – chepner