0
#!/bin/bash
#trash.sh

$TRASHDIR=$HOME/trash 
#Does not exist yet, i have loops further in 
#the script to check if the dir exists and to create it if not
echo $TRASHDIR
#I have ommited the rest of the script, 
#because this is where I have the problem

これを実行してみましょう:

./trash.sh  
./trash.sh: line 3: =/home/someuser/trash: No such file or directory

このファイル名をbashで評価せずに変数に保存するにはどうすればよいですか?また、後でこの変数をテストに使用するにはどうすればよいですか?

if [ -e $TRASHDIR ]
then
  echo stuff here
fi
4

1 に答える 1

5

varを定義$するときは、最初の文字をオフのままにします。

TRASHDIR=$HOME/trash

を使用する$TRASHDIRと、bashそれが空の文字列(または以前に設定されている場合は他の文字列)として評価されます。そのため、次のようになります。

=/home/someuser/trash
于 2012-08-07T07:53:35.077 に答える