UNIX の $symbol について混乱しています。定義によれば、それはそれに続く変数によって格納された値であると述べています。私は定義に従っていません - それがどのように使用されているかの例を教えてください。
ありがとう
次のように変数を定義します。
greeting=hello
export name=luc
次のように使用します。
echo $greeting $name
これを使用export
すると、変数がサブシェルに表示されます。
編集:スペースを含む文字列を割り当てる場合は、二重引用符( ")または一重引用符(')を使用して引用符で囲む必要があります。二重引用符内の変数は展開されますが、一重引用符では展開されません。
axel@loro:~$ name=luc
axel@loro:~$ echo "hello $name"
hello luc
axel@loro:~$ echo 'hello $name'
hello $name
シェルsctiptsの場合。変数に値を割り当てる場合、$simbolを使用する必要はありません。その変数の値にアクセスする場合のみ。例:
VARIABLE=100000;
echo "$VARIABLE";
othervariable=$VARIABLE+10;
echo $othervariable;
もう1つは、割り当てを使用する場合、=simbolの前後にスペースを残さないことです。
これが良いbashチュートリアルです:http: //linuxconfig.org/Bash_scripting_Tutorial
mynameis.sh:
#!/bin/sh
finger | grep "`whoami` " | tail -n 1 | awk '{FS="\t";print $2,$3;}'
finger:ログインしているすべてのユーザー例の結果を出力します:
login Name Tty Idle Login Time Office Office Phone
xuser Forname Nickname tty7 3:18 Mar 9 07:23 (:0)
...
grep:指定された文字列を含む行をフィルタリングします(この例では、ログイン名がxuserの場合はxuserをフィルタリングする必要があります) http://www.gnu.org/software/grep/manual/grep.html
whoami:ログイン名を出力します http://linux.about.com/library/cmd/blcmdl1_whoami.htm
tail -n 1:結果の最後の行のみを表示します http://unixhelp.ed.ac.uk/CGI/man-cgi?tail
awkスクリプト:結果の2番目と3番目の列を出力します:Forname、Nickname http://www.staff.science.uu.nl/~oostr102/docs/nawk/nawk_toc.html