2013-03-23 3 views
0

Что делает команда cp $1/. $2? Я знаю, что cp используется для копирования из источника (хранится в переменной $1) в пункт назначения (сохраняется в переменной $2). Я просто путаюсь с /., используемым вместе с переменной. Может кто-то, пожалуйста, помогите мне понять это?Сценарии Bash/Shell

ответ

1

Команда:

$ cp -R $1/. $2 

копирует содержимое каталога указываемые $1 в каталог $2.

Без -R эта команда не работает, если $1 является файлом или каталогом.

В общем, . указывает на текущий каталог. Вы можете видеть, что путем сравнения инод показал на ls:

$ mkdir test 
$ ls -ali 
9525121 drwxr-xr-x 3 IU wheel 102 23 mar 12:31 . 
771046 drwxrwxrwt 21 root wheel 714 23 mar 12:30 .. 
9525312 drwxr-xr-x 2 IU wheel 68 23 mar 12:31 test 

$ cd test 
$ ls -ali 
9525312 drwxr-xr-x 2 IU wheel 68 23 mar 12:31 . 
9525121 drwxr-xr-x 3 IU wheel 102 23 mar 12:31 .. 

Обратите внимание, что инодов 9525312 указывает на test, если смотреть из родительского каталога, и указывает на ., если смотреть в директории test.

Смежные вопросы