0
私はtestと呼ばれるスクリプトを持っています。引数をとり、バックスラッシュをスラッシュで置き換えようとしています。私は、次のような場合:Bashスクリプト:引数にバックスラッシュ文字を置き換えますか?
#!/bin/bash
FIRST_ARGUMENT=$1
echo $FIRST_ARGUMENT | sed 's/\\/\//g'
そして、私は次のようにそれを使用する:
$ ./test aaa\aa
aaaaa
私のバックスラッシュが消えます。それらを保存してsedに置き換える方法はありますか?私は私のエコーの呼び出し内の文字列にパスをハードコーディングすると、のように:として引用'
または"
を使用し、./test
にそれを通過する間
aaa/aa
を、それは、コマンドラインを処理していますようにバックスラッシュがシェルによって離れて解析されます。あなたはエスケープのためにそれをダブルエスケープして、コマンドの内部で使用するために生き残る必要があります。 –
'./test 'aaa \ aa'' – anubhava
また、[shell variables](http://www.gnu.org/software/bash/manual/)との衝突を避けるため、変数名には小文字を使用することをお勧めします。 bashref.html#シェル変数)はすべてCAPSです – Sundeep