作者 主題: 寫了一個script搞不懂,為什麼不行?  (閱讀 4952 次)

0 會員 與 1 訪客 正在閱讀本文。

ericshei

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 2257
    • 檢視個人資料
寫了一個script搞不懂,為什麼不行?
« 於: 2002-10-17 22:20 »
原始碼如下
引用
#!/bin/bash
echo "Please keyin your account"
read account
echo "Please keyin your password"
read password
echo "Please keyin remote path"
read sadd
echo "Please keyin local mount point"
read dadd

echo $account
echo $password
echo $sadd
echo $dadd
all="mount -t smbfs -o username="$account",password="$password" -o rw -o iocharset=big5 -o codepage=950 "$sadd" "$dadd""
echo $all
mount -t smbfs -o username="$account",password="$password" -o rw -o iocharset=big5 -o codepage=950 "$sadd" "$dadd"



執行過程及結果如下
 
引用
[root@mdk90 mnt]# sh go1.sh
Please keyin your account
ericshei
Please keyin your password
abcde
Please keyin remote path
"//piii-1g/ftp (F)"
Please keyin local mount point
/mnt/home/40g
ericshei
abcde
"//piii-1g/ftp (F)"
/mnt/home/40g
mount -t smbfs -o username=ericshei,password=abcde -o rw -o iocharset=big5 -o codepage=950 "//piii-1g/ftp (F)" /mnt/home/40g   --->變數$all的內容
Usage: mount.smbfs service mountpoint [-o options,...]
Version 2.2.6pre2

Options:
      username=                  SMB username
      password=                  SMB password
      credentials=          file with username/password
      netbiosname=               source NetBIOS name
      uid=                       mount uid or username
      gid=                       mount gid or groupname
      port=                      remote SMB port number
      fmask=                     file umask
      dmask=                     directory umask
      debug=                     debug level
      ip=                        destination host or IP address
      workgroup=                 workgroup on destination
      sockopt=                   TCP socket options
      scope=                     NetBIOS scope
      iocharset=                 Linux charset (iso8859-1, utf8)
      codepage=                  server codepage (cp850)
      ttl=                       dircache time to live
      guest                           don't prompt for a password
      ro                              mount read-only
      rw                              mount read-write

This command is designed to be run from within /bin/mount by giving
the option '-t smbfs'. For example:
  mount -t smbfs -o username=tridge,password=foobar //fjall/test /data/test
[root@mdk90 mnt]# mount -t smbfs -o username=ericshei,password=abcde -o rw -o iocharset=big5 -o codepage=950 "//piii-1g/ftp (F)" /mnt/home/40g--->貼上變數$all的內容執行就接收
[root@mdk90 mnt]# cd home/
[root@mdk90 home]# cd ..
[root@mdk90 mnt]# cd home/40g/
[root@mdk90 40g]# ls
albums/  FTP/  _NIM4711.TMP*  RECYCLER/  Rich6/  System Volume Information/  video/  WUTemp/
[root@mdk90 40g]# df -h
檔案系統              容量  已用 可用 已用% 掛載點
/dev/hda5             945M   86M  812M  10% /
/dev/hda1              15M  3.0M   11M  23% /boot
/dev/hda9             1.1G  251M  789M  25% /home
/dev/hda10            387M  9.0M  358M   3% /tmp
/dev/hda7             2.9G  2.0G  827M  71% /usr
/dev/hda8            1018M  132M  835M  14% /var
//piii-1g/ftp_(G)      75G   30G   45G  40% /mnt/home/80g
//piii-1g/ftp_(F)      38G   30G  7.7G  80% /mnt/home/40g
成功的mount 起來

Why??

ericshei

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 2257
    • 檢視個人資料
寫了一個script搞不懂,為什麼不行?
« 回覆 #1 於: 2002-10-28 14:21 »
鳴...幫幫忙給點意見吧!   :oops:

被騎上班的老

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 360
    • 檢視個人資料
寫了一個script搞不懂,為什麼不行?
« 回覆 #2 於: 2002-12-03 17:41 »
應該是 " 的關係,你可以試著把最外層的引號改為單引號試試。

home

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
寫了一個script搞不懂,為什麼不行?
« 回覆 #3 於: 2002-12-04 00:44 »
試試看
all=".........username='$account'........................"

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17466
    • 檢視個人資料
    • http://www.study-area.org
寫了一個script搞不懂,為什麼不行?
« 回覆 #4 於: 2002-12-04 01:33 »
all="mount -t smbfs -o username=$account,password=$password,rw,iocharset=big5,codepage=950 $sadd $dadd"
echo $all
mount -t smbfs -o "username=$account,password=$password,rw,iocharset=big5,codepage=950" $sadd $dadd

ericshei

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 2257
    • 檢視個人資料
寫了一個script搞不懂,為什麼不行?
« 回覆 #5 於: 2002-12-04 10:58 »
引用
#!/bin/bash
#此shell scripts用來mount網芳分享的目錄
echo "Please keyin your account"
read account
echo "Please keyin your password"
read password
echo "Please keyin remote path"
read sadd
echo "Please keyin local mount point"
read dadd

echo $account
echo $password
echo $sadd
echo $dadd
all="mount -t smbfs -o username=$account,password=$password -o rw -o iocharset=big5 -o codepage=950  $sadd $dadd"
echo $all
mount -t smbfs -o username=$account,password=$password -o rw -o iocharset=big5 -o codepage=950  $sadd $dadd


上面貼的這個scripts己經可以跑了.

謝謝大家的建議,原來問題真的出現在' "符號上.

' "的用途,除了關係到能不能保有變數內容外,用於執行上有什麼要注意呢?還是在執行時不能用' "符號 謝謝!

被騎上班的老

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 360
    • 檢視個人資料
寫了一個script搞不懂,為什麼不行?
« 回覆 #6 於: 2002-12-06 18:26 »
shell 的書會有