Можно попытаться запустить скрипт с pwd
прежде, чем назвать исполняемый файл, чтобы видеть, изменяет ли Ваш сценарий каталог после выполнения первого исполняемого файла.
pwd
../filename {options} {parameters} &
pwd
../filename {options2} {parameters} &
pwd
../filename {options3} {parameters} &
pwd
../filename {options4} {parameters} &
Давайте попробуем разобраться с базовым.
mkdir test
touch file
mkdir test1
mkdir test2
?
выполняет поиск одного и только одного символа.
Теперь, когда мы вводим команду ls tes?
, на выходе будет файл
.
Это сработало, потому что мы создали файл внутри каталога. Со страницы руководства ls
,
NAME
ls - list directory contents
В каталоге test
есть файл
внутри, поэтому команда ls
фактически перечисляет файлы, которые присутствует внутри каталога.
Теперь давайте создадим файл, как показано ниже.
touch ramesh
ls rames?
ramesh
Причина, по которой указанная выше команда сработала, заключается в том, что ramesh
является файлом и находится в текущем каталоге (согласно ls
, он перечисляет содержимое каталога и в текущем в каталоге есть файл с именем ramesh
).
Теперь давайте создадим каталог с именем ram1
, как показано ниже.
mkdir ram1
ls ram?
Вышеуказанное ничего не выводит. Это потому, что в каталоге ram1
в настоящее время нет файлов. Теперь, если мы создадим еще один каталог с именем ram2
и попробуем, он будет работать, потому что сначала он проверяет, есть ли в каталоге ram1
какие-либо файлы, а затем проверяет, есть ли в каталоге ram2
какие-либо файлы файлы. Помните, что ls
работает с сортировкой.
Если вы хотите узнать больше о внутренней работе, введите команду stat
.
В этом случае stat ram?
будет выдавать результат как
File: `ram1'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 805h/2053d Inode: 6743976 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-06-30 18:17:06.000000000 -0500
Modify: 2014-06-30 18:17:03.000000000 -0500
Change: 2014-06-30 18:17:03.000000000 -0500