File: mount-fileshare.sh

package info (click to toggle)
cgit 1.2.3%2Bgit20240802.70.09d24d7%2Bgit2.46.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 56,184 kB
  • sloc: ansic: 301,641; sh: 254,574; perl: 29,353; tcl: 22,151; makefile: 4,198; python: 3,594; javascript: 810; csh: 45; ruby: 43; lisp: 12
file content (25 lines) | stat: -rwxr-xr-x 505 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh

die () {
	echo "$*" >&2
	exit 1
}

test $# = 4 ||
die "Usage: $0 <share> <username> <password> <mountpoint>"

mkdir -p "$4" || die "Could not create $4"

case "$(uname -s)" in
Linux)
	sudo mount -t cifs -o vers=3.0,username="$2",password="$3",dir_mode=0777,file_mode=0777,serverino "$1" "$4"
	;;
Darwin)
	pass="$(echo "$3" | sed -e 's/\//%2F/g' -e 's/+/%2B/g')" &&
	mount -t smbfs,soft "smb://$2:$pass@${1#//}" "$4"
	;;
*)
	die "No support for $(uname -s)"
	;;
esac ||
die "Could not mount $4"